Skip to main content

Full text of "TRS-80 Manual: General Ledger (1979)(Adam Osborne)"

See other formats


e& 



OSBORNE & ASSOCIATES 




By LON POOLE • MARY BORCHERS 



GENERAL LEDGER 




CRY 
LON POOLE 

MARY BORCHERS 



ADAM OSBORNE GBk ASSOCIATES, INC. 
Berkeley , California 



Published By 
Adam Osborne & Associates, Inc. 

630 Bancroft Way 
Berkeley, California, U.S.A. 94710 



ISBN 0-931988-20-9 

Copyright © 1979 by Adam Osborne & Associates, Incorporated 

All rights reserved. Printed in the United States of America. No part of this publication may be 
reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, 
mechanical, photocopying, recording or otherwise without the prior written permission of the 
publishers, with the exception that the program listings may be entered, stored, and executed in a 
computer system, but not reproduced for publication. 



DISTRIBUTORS OF OSBORNE & ASSOCIATES INC. 
PUBLICATIONS 



For information on translations and book distributors outside of 
the United States of America, please write: 

Adam Osborne & Associates, Inc. 

P.O. Box 2036 

Berkeley, California 94702 

United States of America 

(415)548-2805 

TWX 910-366-7277 



DISCLAIMER OF WARRANTIES AND LIMITATION OF LIABILITIES 

The authors have taken due care in preparing this book and the programs in it, including research, 
development, and testing to ascertain their effectiveness. The authors and Osborne & Associates, 
Inc. make no expressed or implied warranty of any kind with regard to these programs or the sup- 
plementary documentation in this book. In no event shall the authors or Osborne & Associates, 
Inc. be liable for incidental or consequential damages in connection with or arising out of the fur- 
nishing, performance or use of any of these programs. 



TABLE OF CONTENTS 



Introduction jx 

Contents jx 

Other Books in this Series x 

Publication Errors x 

How this Book has been Printed x 

1 . System Capabilities 1 

2. Data Files 3 

File Accessing Methods 3 

File Descriptions 4 

File Layouts 4 

3. Management Guide 11 

Menu 11 

System Date 1 1 

Setting Up the Chart of Accounts 1 1 
Postings from Accounts Payable and Accounts Receivable 22 

Entering Direct Postings 23 

End-of-Month Procedures 23 

End-of-Quarter Procedure 23 

End-of-Year Procedure 24 

Elective Procedures 24 

Errors and Error Recovery 24 

Menu 24 

Posting Entry 24 

Update Errors 25 

Account File Full 25 

Power Failure 25 

4. User's Manual 27 

Data Entry 27 

General Ledger Account Numbers 28 

Entry Codes 28 

SFK 29 

Bulletins 29 

Using the Printer 29 

Flowcharts 30 

Start and End 33 

0. Menu 34 

1. General Information File Maintenance 37 

2. G/L Direct Posting Entry/Print 40 

3. G/L Posting Sort/Update 45 

4. Reports 51 

5. Account File Maintenance 73 

6. Account File Reorganize 81 



TABLE OF CONTENTS (Continued) 



5. Special Hardware and BASIC Features 83 

CRT Display Screen 83 

Keyboard 83 

High-speed Output 84 

Numerics and Numeric Expressions 84 

Alphanumerics (Strings) 84 

Common Variables 86 

BASIC Syntax 86 

BASIC Statements 86 

General Statements 86 

Disk Access Statements 89 

6. Changing General Ledger 91 

Password 91 

Programmable Program Load 91 

Testing for Printer Ready 91 

Multiple Companies 92 

File Reorganize 92 

Converting Keyed Accessing to Random Accessing 92 

Additional Sources of External Postings 93 

Cost Detail from Posting Records 94 

Budgeting 94 

Departmentalizing 94 

7. File and Program Initialization 97 

Data File Initialization 97 

Common Subroutines 97 

File Reorganize 101 
Coordinating With Payroll, Accounts Payable, and 

Accounts Receivable 101 
CRT Mask File Maintenance Program (CRTFM) Operating 

Instructions 102 

CRT Mask Layouts 108 

8. Program Listings 111 

Conversion Order Form 



VI 



TABLES AND FIGURES 



Figure 1 -A General Ledger System 2 

Table 1-B General Ledger Programs 2 

Table 2-A General Ledger Data Files 4 

Table 2-B Program/Data File Cross Reference 5 

Table 3-A Menu Program List 1 1 

Table 3-B Sample Chart of Accounts 12 

Table 3-C Sample Chart of Accounts Encoded for Account File 15 

Figure 3-D Breakdown of Sample Account Numbers 19 

Table 3-E Account Types 20 

Table 4-A Flowchart Symbols Key 31 

Table 1-1 General Information Fields 38 

Table 2-1 Direct Posting Fields 42 

Table 5-1 G/L Account Fields 75 

Table 5-A Special CRT Hexadecimal Codes 83 

Table 5-B Using STR With LET 85 

Figure 6-A A New Account to Insert 93 

Figure 6-B A New Account Inserted 93 

Figure 6-C Accounts Without Departmentalization 95 

Figure 6-D Accounts with Departmentalization 95 

Table 7-A Summary of Common Subroutines 99 

Table 7-B Common Subroutine Usage 100 



VII 



VIII 



INTRODUCTION 

You can now buy a computer for a few thousand dollars that is just as powerful as one that 
cost ten or twenty times as much just a few years ago. Today's inexpensive computers can cer- 
tainly handle most of the accounting chores of any small business. But the computer itself is 
only part of a total automated accounting system. The other part is a set of programs that tell 
the computer what to do. In the days when computers themselves were very expensive, pro- 
grams that were fairly expensive still constituted only a small part of the price tag for a com- 
plete automated accounting system. Today, the programs can easily cost a small business as 
much as the computer itself. Until recently, this has been a problem with no solution. This book 
is part of the solution. 

This is one in a series of books published by Osborne & Associates that provides complete 
source listings and documentation for business data processing programs. This is not another 
book on how to write computer programs; the programs are already written. The book includes 
source listings for ten programs written in the widely used computer programming language 
BASIC. 

These General Ledger programs are a direct result of Osborne & Associates' five years of 
experience serving as software consultants to small and medium-sized businesses. We 
developed these programs on a Wang Laboratories 2200 minicomputer, so the listings in the 
book are in Wang Laboratories extended BASIC. The programs have been installed, user- 
tested, and updated over the years so that they are now basically error-free. 

CONTENTS 

Most of this book is devoted to extensive system and program documentation. The first 
chapter provides an overview of the General Ledger system structure and philosophy. It analyzes pro- 
gram capabilities, limitations, and flexibilities. Chapter 2 describes data file structure, including file 
content, uses, and accessing methods. Chapter 3 is a guide to managing your General Ledger using 
the programs in this book. It discusses what the programs do, how they interrelate, and when to run 
each one Chapter 3 also correlates this General Ledger system with the Accounts Payable/Receivable 
systems presented in the Osborne & Associates publication Accounts Payable and Accounts Receivable. 
Chapter 4 is a complete user's guide with step-by-step instructions for operating each program, sam- 
ple CRT screens, sample printouts, and a description of how each program works. 

Chapter 5 describes some special features of Wang Laboratories extended BASIC. Unless your 
BASIC is compatible with Wang extended BASIC, you will have to convert the programs to 
your BASIC. 

While you are changing the programs to be compatible with your BASIC, you will probably want 
to customize them so they match your accounting procedures more exactly. Chapter 6 discusses 
some of the ways you can do this. 

Chapter 7 contains the specific information you will need to install the General Ledger programs. 
It provides details on file initialization and CRT display layouts. It also includes step-by-step operating 
instructions for a utility program to set up CRT masks 

The source listings occupy the last third of this book. Comments (REMARKs) on specific pro- 
gram lines appear in the margin next to the listings. Also, you will find computer-generated cross- 
references showing where the line numbers, variables, and subroutines are used in each program, 

A programmer installing the General Ledger system should read the entire book. Non- 
programmers who need to know how the programs interrelate and how to operate each pro- 
gram can read just Chapters 1, 3, and 4. Those who only need to know how to operate the pro- 
grams can read just Chapter 4. 



IX 



U I HfcK BUUKS ilM I HIS StiriitS 

This book refers to two of the other books in the BASIC program series published by Osborne & 
Associates. Payroll With Cost Accounting contains complete source listings and documentation for a 
Payroll system with labor distribution cost accounting. Accounts Payable and Accounts Receivable con- 
tains complete source listings and documentation for Accounts Payable/Receivable reports and ac- 
count maintenance. 

PUBLICATION ERRORS 

The programs in this book have been in daily operation for several years. Additionally, they were 
thoroughly tested prior to publication, so they should be error-free. Still, there is no way to prove any 
computer program has no errors If you find any errors in the program source listings or any other 
part of this book, please send a written description to the authors, in care of Osborne & Associ- 
ates, at the address printed on the back cover of this book. Please include a description of your 
correction, if you have one. 

HOW THIS BOOK HAS BEEN PRINTED 

Notice that text in this book has been printed in both boldface type and lightface type. 
This has been done to help you skip those parts of the book that cover subject matter with 
which you are familiar. You can be sure that lightface type only expands on information pre- 
sented in the previous boldface type. Therefore, read only boldface type until you reach a subject 
about which you want to know more, at which point start reading the lightface type. 



Chapter One 
SYSTEM CAPABILITIES 

Put all of the programs listed in this book together and you will have a complete com- 
puterized General Ledger system. It performs most of the tasks normally associated with com- 
puterized versions of General Ledger. You will notice that there is not just one program to perform 
these tasks. That is because we split up the tasks so that each program performs only part of the over- 
all processing. You can still think of these programs collectively as one large, multi-faceted General 
Ledger program. In fact, you could even implement them as one program if you had enough computer 
memory However, most small computers do not have enough memory That is why we have divided 
the tasks among different programs. Figure 1-A gives an overview of General Ledger. Table 1-B 
lists the individual programs. 

There is one program. Menu, that just controls which of the tasks will be performed. You 

select the task you want from a numbered list displayed by the Menu program, and it loads and ex- 
ecutes programs to perform the task you selected. When the selected program finishes its processing, 
it reloads the Menu so you can choose another task. This technique of using a controller program 
makes General Ledger look very much like one large program — at least to the person operating it. 

Whenever you start up the General Ledger system, you will have to correctly enter a 
password before you can proceed with task selection. This protects the General Ledger from acci- 
dental or malicious tampering. 

The General Ledger accepts postings to the various accounts from three external sources: 
Payroll, Accounts Payable, and Accounts Receivable. You can also enter postings directly. This 
allows you to adjust erroneous postings from external sources, and to make postings to accounts nor- 
mally unaffected by Payroll, Accounts Payable, or Accounts Receivable, Please note that the Ac- 
counts Payable/Receivable programs described in the Osborne & Associates publication Accounts 
Payable and Accounts Receivable generate postings to the General Ledger described in this book, but 
the Payroll programs described in the Osborne & Associates publication Payroll With Cost Accounting 
do not. 

In the final analysis, the financial statements are what a General Ledger is all about. With the 
programs in this book, you can format your own balance sheet and income statement. You have 
complete freedom to place titles and headings where you want them, skip lines or pages between ac- 
counts, and generate subtotals and totals throughout the reports — up to ten levels if you need them. 
You can print the balance sheet and income statement for the current month, current quarter, or any 
of the previous three quarters. This year's or last year's totals are also included on the income state- 
ment. They do not appear on the balance sheet, since balance sheet account totals are by nature run- 
ning totals, hence yearly totals. 

In addition to the balance sheet and income statement, you can print a trial income state- 
ment and trial balance. There is also a special report that lists the current account balance for 
selected accounts. 



ihlc 



1— D tZr\trtr\lrni I r±/-it~tr\r & •• r\ t~t r- r\ r 



Number 





1 

2 
3 

4 

5 

6 



Name 



Menu -- Choose which of the General Ledger programs you wish to run. 
General Information File Maintenance -- Change today's date, the company 
name, company address, or fiscal year. 

Direct Posting - Enter postings to any account. Optionally print direct postings. 
Posting Update -- Update General Ledger accounts with external postings and 
direct postings. 

Reports -- Print the trial income statement, trial balance, income statement, bal- 
ance sheet, or special report Also move totals at end of month, quarter, or year. 
Account File Maintenance -- Add new accounts. Change account name, report 
parameters, totals, etc. 

Account File Reorganize -- Recover wasted space caused by record deletion in 
the Account file. 



From 
Accounts Payable 



From 
Accounts 
Receivable 




. Trial 
Balance 



Balance 
Sheet 



Income and 
Expense 



(Not shown: General Information File (company name, date)) 



Figure 1-A. General Ledger System 



Chapter Two 
DATA FILES 

All General Ledger data is organized into a hierarchical structure composed of fields, 
records, and files. A field is any single data item, a record is a group of fields that are related to 
one subject, and a file is a collection of like records. For example, individual data items such as Ac- 
count Number, Account Name, and Monthly Total are some of the fields in an Account record, and all 
the Account records taken together comprise the Account file. 

General Ledger expects its data files to be stored on some kind of random access storage 
device, such as a disk drive. Tape cassettes and other sequential storage media will not work. 

Data is transferred to and from the disk in complete records, one record at a time. To use a 

particular field, you must load the entire record that contains it. For example, to obtain an accounts 
Monthly Total field you must load the entire Account record from the Account file into the computer s 
memory. You can then extract the monthly balance from the Account record to display it, print it, etc. 

FILE ACCESSING METHODS 

There are several ways to locate a specific record within a file. The General Ledger pro- 
grams use sequential, random, and keyed (indexed sequential) file accessing methods. In many 
cases, file accessing begins with the first record on the file, proceeds to the second record, then to the 
third, and so on to the end of the file. This is called sequential file accessing. 

Sequential accessing is inadequate for many files. You may need records in a random order; 
perhaps you will access record 1, then record 25, record 23, and finally record 26. Since a disk can 
jump around, locating records randomly, limiting the disk to strict sequential accessing makes no 
sense Given a record's relative position within a file, the disk can compute the location of the record 
from the beginning of the file, position itself to that location, and load the desired record into the com- 
puter memory. This is called random accessing. When using random accessing, you must either know 
or be able to arithmetically compute a record's location. Unfortunately, this is not always possible. 

There are several ways you can find a record if you do not know its position within a file. Every 
one of these methods requires each record to be identifiable by a unique code or key. Usually, you will 
decide that some field or group of fields in the record will form the key. For example, the Account 
Number field could be the key for the Account file. You can access records by their keys even if the 
records are completely unordered within the file. One way of doing this is by keeping a separate table 
of keys to use as a file index. Each entry in the index contains a key, along with the position of that 
key's record within the file. To access a record, find its key in the index. The accompanying record 
position points to the actual location of the data record on the disk. We call files that are accessed this 
way keyed files, and the procedure for accessing them is called keyed file accessing. This type of ac- 
cessing is sometimes called Indexed Sequential Accessing Method (ISAM). 



FILE DFfiflRIPTSniVIR 



Table 2-A lists the data files used by General Ledger. The description given for each file in- 
cludes a summary of the file's contents and uses and any special notes that are pertinent. 

Table 2-A. General Ledger Data Files 



Number 



1 



Name 



G/L0FI10 
G/L0F020 

G/L0F030 
G/I0F010 

CRT3 



Description 



Account — This file contains the account name, various ac- 
count type parameters, and account balances 

External Posting — This holds postings to the General 
Ledger from Accounts Payable, Accounts Receivable, 
etc 

Direct Posting — This holds postings entered from General 
Ledger to adjust errors in external postings, etc 

General Information —The first record in this file contains 
today's date and some data used by the Payroll programs 
described in the Osborne & Associates publication Payroll 
With Cost Accounting, The second record on this file con- 
tains the company name, address, etc 

CRT Mask — Each record on this file contains the field 
labels, descriptions, and explanations that are displayed 
on the CRT screen and are used as a template for guiding 
data entry in some programs 



Accessing Methods 



keyed 
sequential 

sequential 
sequential, random 

random 



FILE LAYOUTS 

File layouts describing the exact record format for each file used in General Ledger are pre- 
sented on the following pages. Each layout contains the following items: 

DESCRIPTION — The name used to identify the file in this book. 

FILE NAME — The name the programs use to identify the file 

UNIT — The address or name of the disk on which the file resides. 

NO. OF RECORDS — The number of records in the file. 

RECORD SIZE —The number of bytes or characters each record occupies, excluding control 
bytes added by the computer. 

BLOCKING — The number of records in one sector or the number of sectors each record takes 
whichever applies. 

KEY SIZE/POSITION — The number of bytes the key occupies in the record and its relative 
position from the start of the record, including Wang format control bytes. 

All data is loaded and saved via alphanumeric variables (often arrays). Numeric values are 
packed into the alphanumeric variables in binary coded decimal (BCD) format. Thus numeric 
values are stored without spaces, excess trailing or leading zeros, or other cosmetic parts that do not 
affect the value of the number. 

Each field in a record is listed on a separate line of the file layout. The variable name that 
the programs use to refer to it, its description, and its size are shown. If the field size is prefixed 
with an A, the field is alphanumeric, with the maximum length specified by the integer suffix If 
^JfnLill}, 8 prefixed with an N - the fie| d is numeric and the number suffix gives the 

PACK/UNPACK image. For example, -N9.2 means nine pre-decimal digits and two post-decimal 
digits. The minus sign means a positive or negative number can be packed. Any number between 
-999.999.999 99 and 999,999,999 99 can be packed in a -N9 2 image A -N9.2 field requires sixtytes 
of disk space (each digit takes one-half byte, with one-half for the sign). 

With few exceptions, we have left the number of records in a file up to you There are 
several things to consider when you are establishing the file sizes. The storage capacity of your disks 
will impose a practical limit on file sizes. In addition, your computer will only be fast enough to handle 
a limited number of disks. There is a more detailed discussion of file size factors in Chapter 7 



A program and data file cross-reference table (Table 2-B) shows which data files are accessed by 
each program, and how the data files are used. 

Table 2-B. Program/Data File Cross Reference 



DATA FILE 



1. ACCOUNT 

2. EXTERNAL POSTING 

3. DIRECT POSTING 

4. GENERAL INFORMATION 

5. CRT MASK 



PROGRAM 



0. MENU 



1. GENERAL INFORMATION FILE MAINTENANCE 



2. DIRECT POSTING 



3. UPDATE 



4. REPORTS 



5. ACCOUNT FILE MAINTENANCE 



6. ACCOUNT FILE REORGANIZE 



R U 



R R U R R 



r4e% u 

-i — i — i — 1~ 



R R R R U 

-1- 



-I- 
R R 



U 



5 4 3 2 1 



R - READ 



E- ERASE 



U- UPDATE 







rii_c Lrt I v^U i 














FILE NO. 

1 


DESCRIPTION 

ACCOUNT 






PAGE 

1 of 1 


FILE NAME 


UNIT 


NO. OF RECORDS 


RECORD SIZE 


BLOCKING 




KEY SIZE/POSITION 


G/L0F110 


BIO 


You decide 


103 


1/sector 




V3 


MISCELLANEOU 


S COMMENTS 

Key is Account Number field (packed) 


■ 




VARIABLE 


FIELD DESCRIPTION 


SIZE 


COMMENTS 


L$ 


Misc., packed as follows: 


Ah2 








LI 


Account Number 


N5.1 








L2 


Sub-account Number 


N2 




(0 = 


Regular 


L3 


Account Type 


Nl -*n— 


J 
) 


1 = 
I 2 = 


Title 
Total 


Ll$ 


Account Name 


A31 




,3 = 


Head i ng 


Ih 


Report Type 


Nl — 


-. 


12 = 


Income Stmt 
Balance Sheet 


LS 


Normal Balance 


Nl 




1 = 


Debit; 2 = Credit 


L6 


Total Level 


Nl 




- 


9 


L7 


Extra Line Advance 


Nl 




- 


8 Lines; 9 = New Page 


L8 


Sales Account 


Nl 




= 


No; 1 = Yes 


L9 


Include on Special Report 


Nl 




= 


No; 1 = Yes 


D$ 


Misc., packed as follows: 


A60 








D(l) 


This Month Total 


-N9-2 








D(2) 


This Year Total 


-N9-2 








D(3) 


This Quarter Total 


-N9.2 








D(4) 


First Previous Quarter Total 


-N9.2 








D(5) 


Second Previous Quarter Total 


-N9.2 








D(6) 


Third Previous Quarter Total 


-N9.2 








D(7) 


Previous Year Total 


-N9-2 








D(8) 


Unused 


-N9-2 








D(9) 


Unused 


-N9.2 








D(10) 


Unused 


-N9-2 









FILE LAYOUT 



FILE NO. 

2 



FILE NAME 

G/L0F020 



DESCRIPTION 



EXTERNAL POSTING 



UNIT 

BIO 



NO. OF RECORDS 

3600 Max. 



RECORD SIZE 



BLOCKING 

16/sector 



PAGE 



of 1 



KEY SIZE/POSITION 

N/A 



MISCELLANEOUS COMMENTS 



The size of this file plus the size of G/L0F030 must be less than 36OO records. 



VARIABLE 



G$ (1-16) 

PI 

P2 
P3 
Pk 
P5 



FIELD DESCRIPTION 



Misc., packed as follows: 

General Ledger Account Number 

Source Code 

Date (Month and Day) 

Reference 

Amount 



SIZE 



AU 

N5. 1 
N2^- 
N2.2 
N6 
-N7-2 



COMMENTS 




Payrol 1 

Accounts Payable 
Accounts Receivable 
General Ledger 



PII F I AVnilT 



FILE NO. 

3 



DESCRIPTION 



DIRECT POSTING 



PAGE 

1 of 1 



FILE NAME 

G/L0F030 



UNIT 

BIO 



NO. OF RECORDS 

You decide 



RECORD SIZE 

14 



BLOCKING 

16/sector 



KEY SIZE/POSITION 

N/A 



MISCELLANEOUS COMMENTS 



The size of this file plus the size of G/L0F020 must be less than 3600 records. 



VARIABLE 



G$(l-16) 

PI 
P2 
P3 
Pk 

P5 



FIELD DESCRIPTION 



Misc., packed as follows: 

General Ledger Account Number 

Source Code 

Date (Month and Day) 

Reference 

Amount 



SIZE 



AH 

N5.1 
N2 «** 
N2.2 
N6 
-N7.2 



COMMENTS 



Payrol 1 

Accounts Payable 
Accounts Receivable 
General Ledger 



FILE LAYOUT 



FILE NO. 



FILE NAME 

G/I0F010 



DESCRIPTION 



GENERAL INFORMATION 



UNIT 

BIO 



NO. OF RECORDS 

2 



RECORD SIZE 

129 



BLOCKING 

1 /sector 



PAGE 

1 of 1 



KEY SIZE/POSITION 

N/A 



MISCELLANEOUS COMMENTS 

One company record and one general system record are stored. (This is 
compatible with file G/I0F010 in Payroll With Cost Accounting and Accounts 
Payable and Accounts Receivable .) 



VARIABLE 



G1$ 



G3$ 



Gl$ 

Gl 
G2 
G3 
Qk 
G5 

G2$(l) 
G2$(2) 
G2$(3) 
G2$(lt) 
G2$(5) 



FIELD DESCRIPTION 



Unused 

Misc., packed as follows for 
system information, record 1 
on ly : 

Today's Date 

Period Start Date 

Period End Date 

Payroll Number in Month 

Day Number in Payroll Period 

Unused 

Misc., packed as follows for 
company 1 : 

Company Number 
Next Check Number 
Overtime Rate Multiplier 
Hourly Rate 
Fiscal Year Ends 

Company Name 

Company Address - Line 1 

Company Address - Line 2 

Company Address - Line 3 

Federal/State Tax Numbers 



SIZE 



A9 



A24 



N6 
N6 
N6 
N6 
N6 
A9 

A9 

N2 

N6 

N2.2 

N2.2 

N2 

f\2h 
f\2h 
Mk 
Mk 



COMMENTS 



> Record 1 



>- Record 2 







FILE LAYOUT 










FILE NO. 


DESCRIPTION 


PAGE 


5 


CRT MASK 


1 of 1 


FILE NAME 


UNIT 


NO. OF RECORDS 


RECORD SIZE 


BLOCKING 


KEY SIZE/POSITION 


CRT3 


BIO 


5 


1024 


h sectors 


N/A 


MISCELLANEOU 


S COMMENTS 


Mask; 


are loaded and displayed four lines (i.e., one sector) at a time. 


VARIABLE 


FIELD DESCRIPTION 


SIZE 


COMMENTS 


X3$(l) 


Mask, Line 1 


A6h 


First Sector 


X3$(2) 


Mask, Line 2 


A6*t 




X3$(3) 


Mask, Line 3 


A64 




X3$(4) 


Mask, Line k 


A64 




X3$(D 


Mask, Line 5 


A6k 


Second Sector 


X3$(2) 


Mask, Line 6 


A64 




X3$(3) 


Mask, Line 7 


A64 




X3$00 


Mask, Line 8 


A64 




X3$ ( 1 ) 


Mask, Line 9 


AGk 


Third Sector 


X3$(2) 


Mask, Line 10 


A64 




X3$(3) 


Mask, Line 11 


A64 




X3$(4) 


Mask, Line 12 


A64 




X3$ (1 ) 


Mask, Line 13 


A64 


Fourth Sector 


X3$(2) 


Mask, Line 1 k 


A64 




X3$(3) 


Mask, Line 15 


A64 




X3$(4) 


Mask, Line 16 


/\Gk 





10 



Chapter Three 
MANAGEMENT GUIDE 



Before you can run the programs in this book, you must understand what they can do for you 
and what information they need from you in order to perform their function. Some programs gather 
information from you and store it in data files. Other programs interpret, combine, and transfer data 
between files. Finally, there are programs to extract the processed data from the files and report it 
back to you. 

This chapter provides a general overview of General Ledger processing. It describes how the 
General Ledger programs work, including when and why you should run each program. It discusses 
some common errors and what to do about them. You should become familiar with the information in 
this chapter before attempting to run any programs using the detailed instructions in Chapter 4. 

MENU 

A special program, called the Menu, controls the loading and execution of all General Ledger 
programs. You choose which program to run by specifying its identifying number in the Menu. Table 
3-A shows the Menu's list of programs. 





Table 3-A. Menu Program List 


1) 


General Information File Maintenance 


2) 


Direct Posting 


3) 


Posting Update 


4) 


Reports 


5) 


Account File Maintenance 


6) 


Account File Reorganize 



SYSTEM DATE 

As your first processing step every day, be sure to set the correct date using 1) General Informa- 
tion File Maintenance. Usually, you will set the date to today's date. You can use other dates for 
special effects like predating or postdating reports. For example, if today is January 2, you can still set 
the date to December 31 and run year-end reports (assuming the file still contains year-end figures). 

SETTING UP THE CHART OF ACCOUNTS 

The single most important aspect of automated General Ledger processing is setting up the 
chart of accounts. This is because the chart of accounts, contained in the Account file, determines 
what your financial reports will look like. Each account has a record in the Account file. The order of 
the Account records in the Account file establishes the order of account printing on the financial re- 
ports. There are special records in the Account file for report titles and headings. Account records 
determine where and when subtotals and totals will appear. Report spacing, extra blank lines, and 
skipping to the top of a new page are all controlled by information which you supply on each Account 
record. Thus you must consider the overall picture of your General Ledger reports when designing 
your chart of accounts and entering it into the Account file. 

Let's take a step-by-step look at how you can carefully design a chart of accounts and implement 
it in your Account file. To start with, you or your accountant must draw up a chart of accounts suita- 
ble for your company. Table 3-B shows a sample chart of accounts. Notice that there are four catego- 
ries of accounts: Assets, Liabilities, Income (or Revenue), and Expenses. Each of these categories con- 
tains a multitude of regular General Ledger accounts. The regular accounts are grouped together at 
different levels of detail. Table 3-B depicts this grouping by indenting account names at different 
levels. 



11 






ASSETS 

Current Assets 

Cash 

Revenue Bank 

Petty Cash 
Total 

Accounts Receivable 
Trade Accounts Receivable 
Finished Goods Sales Receivable 
Consulting Fees Receivable 
Allow for Doubtful Accounts 
Total 

Employee Receivables 
Other Accounts Receivable 
Total 

Inventory - Finished Goods 
Finished Goods (at Mfg. Cost) 
Raw Materials 
Other Inventory 

Total 

Prepaid Expense 

Prepaid Insurance 

Prepaid Taxes 

Other Prepaid Expenses 
Total 

Consulting 

Contracts-in-Process 
Direct Labor 
Overhead 

Other Direct Charges 
Direct Materials 
Outside Service 
Freight - In 
Travel 
Total 
Credits 
Total 

Total Current Assets 

Deferred Production Costs 
Direct Labor 
Overhead 
Other Direct Charges 

Direct Materials 

Outside Services 

Freight - In 
Total 
Credits 
Total 

Property & Equipment 

Cost 

Machinery & Equipment 

Furniture & Fixtures 

Leasehold Improvements 
Total 

Construction-in-Process 

Accumulated Depreciation 

Machinery & Equipment 

Furniture and Fixtures 

Leasehold Improvements 
Total 

Total Property & Equipment 

Total Assets 



LIABILITIES & 
STOCKHOLDERS' EQUITY 

Current Liabilities 

Notes Payable 
Current Matur on L-T Debt 
Vouchers Payable 
Sales Tax Payable 

Income Tax Payable 

Federal 

State 
Total 

Payroll Taxes Payable 

Federal Income Tax Withholding 

FICA 

Federal Unemployment Tax 

State Income Tax Withholding 

SDI 

State Unemployment Tax 
Total 

Accrued Liabilities 

Payroll 

Vacation 

Property Taxes 

Other Accrued Liabilities 
Total 

Unearned Income 
Customer Overpayments 
Unidentified Customer Receipts 

Total Current Liabilities 

Long Term Liabilities 

Notes Payable 

Deferred Income Taxes Payable 
Total 

Stockholders' Equity 

Capital Stock 

Additional Paid-in Capital 

Retained Earnings 
Total 

Total Liab & Stockholders' Eq 
INCOME 

Sale of Goods 

Finished Goods 

Sales Returns & Allowances 
Total 

Consulting Fees 

Royalties Income 

Patent Royalties 

Consulting Royalties 
Total 

Other Income 

Collection of Bad Debts 

Miscellaneous Income 
Total 

Total Income 



12 



Table 3-B. Sample Chart of Accounts (Continued) 



EXPENSES 

Cost of Income 

Cost of Sale of Goods 

Cost of Consulting Fees 

Royalty Payments 

Variance Expense 
Total 

Development Project Expenses 
Direct Labor 
Overhead 

Other Direct Charges 
Direct Materials 
Outside Services 
Freight - In 
Travel 
Total 
Total Development Proj Expense 

Department Expenses 

Salaries, Wages, & Benefits 

Direct Labor 

Indirect Labor 

Overtime Premium 

Holiday-Vacation-Sick Leave 

Jury Duty & Other Leave 

Payroll Taxes 

Bonus 

Other Fringe Benefits 
Total 

Materials & Supplies 

Computer Materials and Supplies 
Raw Materials & Supplies 
Stationery-Matr'ls and Supplies 
Other Materials and Supplies 

Total 

Facilities & Equipment 

Rent - Office Space 

Equipment Leases 

Depreciation 

Equipment Maintenance 

Janitorial Service 

Utilities 

Auto Expense 

Equipment Rental 
Total 

Outside Services 
Professional Services - Legal 
Prof Services - Consulting 
Employment Service 
Credit & Collection Service 
Other Outside Services 

Total 



Advertising 
Periodicals 
Trade Shows 

Shows - Travel 

Shows - Other 
Total 

Direct Mailings - Samples 
Brochure Printing and Mailing 
Outside Prep. Work on Ads 
Other Advertising 
Total Advertising 

Order & Shipping Expenses 
Shipping Expense - Outgoing 
Order/Shipping Forms Printing 
Postage 

Total 

Other Expenses 

Taxes-Licenses-Fees 

Insurance 

Travel & Employee Business Exp 

Communications 

Doubtful Accounts 

Dues and Subscriptions 

Other Freight - In 

Allow'l Customer Underpayment 

Miscellaneous 
Total 

Transfer in from Other Depts. 

Credits 

Direct Labor Transferred Out 

Overhead Applied 

Est O'head (Over) Under Absorbed 
Total 

Total Department Expenses 

Non-Operating (Income) Expense 
(Gain) Loss on Prop./Equip Sale 
Interest (Income) Expense 

Total 



Estimated 

Federal 

State 
Total 

Total Expense 



ncome Taxes 



13 



in addition, there is a descriptive heading that precedes the tirst regular account in each group 
Also, a group sub-total follows the last account in each group. For an example of this in Table 3-B, 
look in the Assets category under the Accounts Receivable heading. In this chart of accounts, Ac- 
counts Receivable is a "heading" account, not a "regular" account- It is broken down into three 
categories: 

Trade Accounts Receivable 
Employee Receivables 
Other Accounts Receivable 

The last two accounts are themselves regular accounts, but Trade Accounts Receivable is another 
heading account consisting of three regular accounts: 

Finished Goods Sales Receivable 
Consulting Fees Receivable 
Allowance for Doubtful Accounts 

There is a total of these three accounts following the last account, Allowance for Doubtful Accounts. 
There is also a total of the various Accounts Receivable accounts, which is the sum of the Trade Ac- 
counts Receivable total, the Employee Receivables account, and the Other Accounts Receivable ac- 
count. 

When you draw up your chart of accounts, be sure you specifically write down the various head- 
ings and totals that you want to appear on your financial reports, just as we have done in Table 3-B. 
Every printed line on the financial reports must have a corresponding Account record. You probably 
will not forget to create Account records for headings and totals if you include them in your handwrit- 
ten chart of accounts. 

The next step in preparing the Account file involves assigning an account number to each non- 
blank line on your chart of accounts. Account numbers are six-digit numbers. They consist of five pre- 
decimal digits and one post-decimal digit. Thus, account numbers can range from 10000.0 to 
99999.9. You must assign account numbers in four basic categories, according to the following 
scheme: 

Assets 10000,0 - 19999.9 

Liabilities 20000.0 - 29999.9 

Income 30000.0 - 39999.9 

Expenses 40000.0 - 49999.9 

Notice the first digit of the account number identifies the category of the account. You can 
assign account numbers within the four categories any way you like. Just remember that the head- 
ings, regular accounts, and totals will appear on the financial reports in numeric sequence, according 
to their account numbers. 

There is a systematic way to assign account numbers within the general categories. What you 
do is use the second digit of the account number to differentiate between groups of accounts on the 
highest level within each category, the third digit to differentiate between groups of accounts on the 
next level, the fourth digit for the next level, and so on. Table 3-C illustrates this scheme applied to 
our sample chart of accounts from Table 3-B. Here we see, for example, that all expense account num- 
bers begin with the digit 4 and are in strict numeric sequence, as they should be. The second digit of 
the expense account number tells which of the five major groups of expenses any particular account 
belongs to. For example, account numbers beginning 41 are in the Cost of Income group, while ac- 
count numbers beginning 43 are in the Department Expenses group. The third, fourth, and fifth digits 
provide successively more detail within each of the major expense groups. Notice that some expenses 
require more detailing than others. Very little detail is provided in the Cost of Income expenses, since 
only the first three digits of the account number are used (the unused digits are zero). Contrast that 
with the Department Expenses accounts; they need five digits to provide sufficient detail. Figure 3-D 
shows the breakdown of two expenses category account numbers that use different levels of detail. 



14 



Table 3-C. Sample Chart of Accounts Encoded for Account File 



ACCOUNT 


SUB- 


ACCOUNT 


ACCOUNT 


REPORT 


NORMAL 


TOTAL 


EXTRA 


SALES 


SPECIAL 


THIS 


NUMBER 


ACCOUNT 


NAME 


TYPE 


TYPE 


BALANCE 


LEVEL 


LINES 


ACCOUNT 


REPORT 


MONTH 


- 10000 


50 


ASSETS 


1 


2 




8 


2 








■ 11000 


50 


Current Assets 


3 


2 




6 


1 








11100 


50 


Cash 


3 


2 




5 











11110 





Revenue Bank 





2 




2 







X 


2023 25 


11150 





Petty Cash 





2 




2 







X 


40 00 


111990 


50 


Total -- '-•'. 


2 


2 




5 


1 








11400.0 


50 


Accounts Receivable 


3 


2 




5 











114100 


50 


Trade Accounts Receivable 


3 


2 




2 











114120 





Finished Goods Sales Receivable 





2 












X 


100941,03 


11414.0 





Consulting Fees Receivable 





2 












X 


1 500.00 


114190 





Allow for Doubtful Accounts 





2 












X 


-3028.23 


114190 


50 


Total 


2 


2 




2 











11420.0 





Employee Receivables 





2 




2 







X 


1030 00 


11490 





Other Accounts Receivable 





2 




2 







x 


00 


11499 


50 


Total 


2 


2 




5 


1 








11600.0 


50 


Inventory - Finished Goods 


3 


2 




5 











116100 





Finished Goods (at Mfg Cost) 





2 




2 







X 


266195.00 


11620.0 





Raw Materials 





2 




2 







x 


929 13 


11630 





Other Inventory 





2 




2 







X 


00 


11699 


50 


Total 


2 


2 




5 


1 








11800 


50 


Prepaid Expense 


3 


2 




5 











118100 





Prepaid Insurance 





2 




2 







X 


877 24 


1 1 820.0 





Prepaid Taxes 





2 




2 







X 


000 


11890 





Other Prepaid Expenses 





2 




2 







X 


63.50 


11899 


50 


Total 


2 


2 




5 


1 








1 1 900.0 


50 


Consulting 


3 


2 




5 











1 1 900.0 


51 


Contracts-in-Process 


3 


2 




5 











119100 





Direct Labor 





2 




2 







X 


5400 00 


11920 





Overhead 





2 




2 







X 


2700,00 


1 1 940.0 


50 


Other Direct Charges 


3 


2 




2 











11942.0 





Direct Materials 





2 












X 


513 75 


1 1 944.0 





Outside Service 





2 












X 


86 19 


11946 





Freight - In 





2 












X 


22.07 


1 1 948 





Travel 





2 












X 


143,33 


11949 


50 


Total 


2 


2 




2 











11990.0 





Credits 





2 




2 







X 


-1000 00 


11999.0 


40 


Total 


2 


2 




5 











11999.0 


50 


Total Current Assets 


2 


2 




6 


9 








1 3000 


50 


Deferred Production Costs 


3 


2 




6 











130100 





Direct Labor 





2 




2 







X 


XX XX 


130200 





Overhead 





2 




2 







X 


XX. XX 


13040.0 


50 


Other Direct Charges 


3 


2 




2 











1 3042.0 





Direct Materials 





2 












X 


XX. XX 


13044 





Outside Services 





2 












X 


XX XX 


13046 





Freight - In 





2 












X 


XX. XX 


13049.0 


50 


Total 


2 


2 




2 











13990 





Credits 





2 




2 







X 


XX XX 


13999.0 


50 


Total 


2 


2 




6 


2 








1 5000,0 


50 


Property & Equipment 





2 




6 


1 




X 


XX. XX 


15100.0 


50 


Cost 


3 


2 




5 











15110.0 





Machinery & Equipment 





2 




2 







X 


XX, XX 


15120.0 





Furniture & Fixtures 





2 




2 







X 


XX XX 


151300 





Leasehold Improvements 





2 




2 







X 


XX. XX 


15199.0 


50 


Total 


2 


2 




5 


1 








15800.0 





Construction-in-Process 





2 


1 


5 


1 




X 


XX XX 


15900 


50 


Accumulated Depreciation 


3 


2 


2 


5 











15910.0 





Machinery & Equipment 





2 


2 


2 







X 


XX XX 


15920 





Furniture and Fixtures 





2 


2 


2 







X 


XX XX 


15930.0 





Leasehold Improvements 





2 


2 


2 







X 


XX XX 


15999 


40 


Total 


2 


2 


2 


5 


1 








15999.0 


50 


Total Property & Equipment 


2 


2 


1 


6 


2 








19999 


50 


Total Assets 


2 


2 


1 


8 


9 








O-Regular 


1-lnc. 


1-DB 








1 -Title 


Stmt 


2-CR 


















2-Total 


2-Bal. 


















3-Heading 


Sht. 






L 









15 



Table 3-C. Sample Chart of Accounts Encoded for Account File 

(Continued) 



ACCOUNT 
NUMBER 


SUB 
ACCOUNT 


ACCOUNT 
NAME 


ACCOUNT 
TYPE 


REPORT 
TYPE 


NORMAL 
BALANCE 


TOTAL 
LEVEL 


EXTRA 
LINES 


SALES 
ACCOUNT 


SPECIAL 
REPORT 


THIS 
MONTH 


200000 
20000.0 


50 
51 


LIABILITIES & 
STOCKHOLDERS' EQUITY 


1 
1 


2 
2 


2 
2 


8 
8 




1 








21000.0 


50 


Current Liabilities 


3 


2 


2 


6 


1 








21100 
21200.0 
21300.0 
21400.0 








Notes Payable 
Current Matur. on L-T Debt 
Vouchers Payable 
Sales Tax Payable 








2 
2 
2 
2 


2 
2 
2 
2 


5 
5 
5 
5 






1 




X 
X 
X 
X 


XX XX 
XX XX 
XX XX 
XX.XX 


21500 
21510.0 
21520.0 
215990 


50 



50 


Income Tax Payable 

Federal 

State 
Total 


3 



2 


2 
2 
2 

2 


2 
2 
2 
2 


5 
2 
2 
5 






1 




X 
X 


XX XX 
XX XX 


21600.0 
21610,0 
21620.0 
21630.0 
21640.0 
216500 
21660 
21699.0 


50 







50 


Payroll Taxes Payable 

Federal Income Tax Withholding 

FICA 

Federal Unemployment Tax 

State Income Tax Withholding 

SDI 

State Unemployment Tax 
Total 


3 






2 


2 
2 
2 
2 
2 
2 
2 
2 


2 
2 
2 
2 
2 
2 
2 
2 


5 
2 
2 
2 
2 
2 
2 
5 










1 




X 
X 
X 
X 
X 
X 


XX.XX 
XX.XX 
XX XX 
XX XX 
XX.XX 
XX XX 


21700.C 
217100 
21 720.0 
21730.0 
21 790.0 
21799.0 


50 





50 


Accrued Liabilities 

Payroll 

Vacation 

Property Taxes 

Other Accrued Liabilities 
Total 


3 




2 


2 
2 
2 
2 
2 
2 


2 
2 
2 
2 
2 
2 


5 
2 
2 
2 
2 
5 








1 




X 
X 
X 
X 
X 


XX XX 
XX XX 
XX XX 
XX.XX 
XX.XX 


21810.0 
21820.0 
21830.0 







Unearned Income 
Customer Overpayments 
Unidentified Customer Receipts 







2 
2 
2 


2 
2 
2 


5 
5 
5 





1 




X 
X 
X 


XX XX 
XX.XX 
XX.XX 


21999.0 


50 


Total Current Liabilities 


2 


2 


2 


6 


1 








22000.0 
22100.0 
22200.0 
229990 


50 



50 


Long Term Liabilities 

Notes Payable 

Deferred Income Taxes Payable 
Total 


3 


2 


2 
2 
2 
2 


2 
2 
2 
2 


6 
5 
5 
6 





9 




X 
X 


XX.XX 
XX.XX 


23000.0 
23100 
23200.0 
23900.0 
239990 


50 




50 


Stockholders' Equity 

Capital Stock 

Additional Paid-in Capital 

Retained Earnings 
Total 


3 




2 


2 
2 
2 
2 

2 


2 
2 
2 
2 
2 


6 
5 

5 
5 
6 






2 




X 
X 
X 


XX XX 
XX.XX 
XX XX 


299990 


50 


Total Liab & Stockholders' Eq 


2 


2 


2 


8 


9 








30000.0 


50 


INCOME 


1 


1 


2 


8 


2 








31000.0 
31110,0 
31190.0 
31199 


50 



50 


Sale of Goods 

Finished Goods 

Sales Returns & Allowances 
Total 


3 


2 




2 
2 
1 
2 


5 
2 
2 
5 






1 


X 
X 


X 
X 


XX.XX 
XX XX 


31210.0 





Consulting Fees 







2 


5 


1 




X 


XX.XX 


31300 
313100 
31320.0 
31399 


50 



50 


Royalties Income 
Patent Royalties 
Consulting Royalties 

Total 


3 


2 




2 
2 
2 
2 


5 
2 
2 
5 






1 




X 
X 


XX.XX 
XX.XX 


31500 
31510.0 
31590.0 
31599.0 


50 



50 


Other Income 
Collection of Bad Debts 
Miscellaneous Income 

Total 


3 


2 




2 
2 
2 
2 


5 
2 
2 
5 






1 




X 
X 


XX.XX 
XX.XX 


31999.0 


50 


Total Income 


2 




2 


8 


3 








O-Regular 
1 -Title 
2Total 
3-Heading 


1-lnc. 
Stmt. 

2-Bal. 
Sht. 


1-DB 
2-CR 



16 



Table 3-C. Sample Chart of Accounts Encoded for Account File 

(Continued) 



ACCOUNT 


SUB- 




ACCOUNT 


REPORT 


NORMAL 


TOTAL 


EXTRA 


SALES 


SPECIAL 


THIS 


NUMBER 


ACCOUNT 




TYPE 


TYPE 


BALANCE 


LEVEL 


LINES 


ACCOUNT 


REPORT 


MONTH 


40000 


50 


EXPENSES 


1 


1 


1 


8 


2 








41000 


50 


Cost of Income 


3 






6 











41100 





Cost of Sale of Goods 









5 







X 


XX. XX 


41200 





Cost of Consulting Fees 









5 







X 


XX XX 


41300.0 





Royalty Payments 









5 







X 


XX XX 


41900 





Variance Expense 









5 







X 


XX XX 


41999 


50 


Total 


2 






6 


2 








42000 


50 


Development Project Expenses 


3 






6 











42010 





Direct Labor 









2 







X 


XX XX 


42020 





Overhead 









2 







X 


XX XX 


420400 


50 


Other Direct Charges 


3 






2 











42042 





Direct Materials 

















X 


XX XX 


42044.0 





Outside Services 

















X 


XX, XX 


42046 





Freight - In 

















X 


XX XX 


42048 





Travel 

















X 


xx.xx 


42049 


50 


Total 


2 






2 











42999.0 


50 


Total Development Proj. Expense 


2 






6 


9 








43000 


50 


Department Expenses 


3 






6 


1 








43100.0 


50 


Salaries, Wages, & Benefits 


3 






5 











431100 





Direct Labor 









2 









XX XX 


43120 





Indirect Labor 









2 









xx xx 


431300 





Overtime Premium 









2 









XX XX 


43140 





Holiday-Vacation-Sick Leave 









2 









xx.xx 


43150 





Jury Duty & Other Leave 









2 









XX XX 


43160 





Payroll Taxes 









2 









xx.xx 


43170.0 





Bonus 









2 









xx.xx 


43190 





Other Fringe Benefits 









2 









xx.xx 


431990 


50 


Total 


2 






5 


1 








43200.0 


50 


Materials & Supplies 


3 






5 











43210.0 





Computer Materials and Supplies 









2 









XX XX 


43220.0 





Raw Materials & Supplies 









2 









XX.XX 


432300 





Stationery-Matr'ls and Supplies 









2 









xx.xx 


43290.0 





Other Materials and Supplies 









2 









xx.xx 


432990 


50 


Total 


2 






5 


1 








43300.0 


50 


Facilities & Equipment 


3 






5 











433100 





Rent - Office Space 









2 









xx.xx 


433200 





Equipment Leases 









2 









xx.xx 


43330 





Depreciation 









2 









XX XX 


43340.0 





Equipment Maintenance 









2 









XX XX 


43350.0 





Janitorial Service 









2 









XX XX 


43360 





Utilities 









2 









xx.xx 


433700 





Auto Expense 









2 









xx.xx 


433900 





Equipment Rental 









2 









xx.xx 


43399.0 


50 


Total 


2 






5 


1 








43400.0 


50 


Outside Services 


3 






5 











43410 





Professional Services - Legal 









2 









xx.xx 


43420.0 





Prof. Services - Consulting 









2 









xx.xx 


43430.0 





Employment Service 









2 









xx.xx 


43440.0 





Credit & Collection Service 









2 









XX XX 


43490.0 





Other Outside Services 









2 









xx.xx 


43499.0 


50 


Total 


2 






5 


1 








43500.0 


50 


Advertising 


3 






5 











43510 





Periodicals 









2 









XX XX 


43520.0 


50 


Trade Shows 









2 









XX XX 


43521,0 





Shows - Travel 



















xx.xx 


43529.0 





Shows - Other 



















xx.xx 


435290 


50 


Total 


2 






2 


9 








43530.0 





Direct Mailings - Samples 









2 









xx.xx 


43540.0 





Brochure Printing and Mailing 









2 









XX XX 


43560.0 





Outside Prep Work on Ads 









2 









XX.XX 


435900 





Other Advertising 









2 









XX XX 


43599.0 


50 


Total Advertising 


2 






5 


1 








O-Regular 


1-lnc. 


1-DB 








1 -Title 


Stmt. 


2-CR 


















2-Total 


2-Bal. 




















3-Heading 


Sht. 















17 







Table 3-C. Sample Chart of Acco 


unts E 


ncoded 


for Ac 


count 


File 












(Continued) 








ACCOUNT 


SUB- 




ACCOUNT 


REPORT 


NORMAL 


TOTAL 


EXTRA 


SALES 


SPECIAL 


THIS 


NUMBER 


ACCOUNT 




TYPE 


TYPE 


BALANCE 


LEVEL 


LINES 


ACCOUNT 


REPORT 


MONTH 


43600.0 


50 


Order & Shipping Expenses 


3 






5 











436100 





Shipping Expense - Outgoing 









2 









XX XX 


436200 





Order/Shipping Forms Printing 









2 









XX XX 


43630.0 





Postage 









2 









XX XX 


436990 


50 


Total 


2 






5 


1 








437000 


50 


Other Expenses 


3 






5 











43710.0 





Taxes-Licenses-Fees 









2 









XX XX 


437200 





Insurance 









2 









XX XX 


43730.0 





Travel & Employee Business Exp 









2 









XX XX 


43740.0 





Communications 









2 









XX XX 


437500 





Doubtful Accounts 









2 









xx.xx 


43760.0 





Dues and Subscriptions 









2 









XX XX 


437700 





Other Freight - In 









2 









XX XX 


437800 





Allow'l Customer Underpayment 









2 









XX XX 


43790.0 





Miscellaneous 









2 









xx.xx 


43799.0 


50 


Total 


2 






5 


1 








438100 





Transfer in from Other Depts 







2 


5 


1 






xx.xx 


43900.0 


50 


Credits 


3 




2 


5 











439100 





Direct Labor Transferred Out 







2 


2 









XX XX 


43920.0 





Overhead Applied 







2 


2 









XX XX 


43990.0 





Est O'head (Over) Under Absorbed 







2 


2 









XX XX 


43999.0 


40 


Total 


2 




2 


5 


1 








439990 


50 


Total Department Expenses 









6 


1 






XX XX 


440000 


50 


Non-Operating (Income) Expense 


3 






6 











44100.0 





(Gain) Loss on Prop /Equip Sale 







2 


5 









xx.xx 


44200,0 





Interest (Income) Expense 









5 









XX XX 


44999.0 


50 


Total 


2 






6 


1 








450000 


50 


Estimated Income Taxes 


3 






6 











45100 





Federal 









5 









XX.XX 


45200.0 





State 









5 









XX XX 


459990 


50 


Total 


2 






6 


2 








499990 


50 


Total Expense 


2 




1 


8 


9 














O-Regular 


1-lnc. 


1-DB 


















1 -Title 


Stmt. 


2-CR 


















2-Total 


2-Bal. 




















3-Heading 


Sht. 















18 



4 3 5 2 1 



■Expense Account 
♦■Department Expense 
— ►Advertising Expense 

►Trade Shows 

►Travel-Shows 

►Not used 







Expense Account 
•►Estimated income Taxes 
— ►Federal 

►Not Used 

►Not Used 

►Not Used 



4 5 



Figure 3-D. Breakdown of Sample Account Numbers 



19 



There is a field in each Account record that allows some additional flexibility in assigning ac- 
count numbers. The Sub-account Number field enables you to put a heading (or other descriptive 
text) between two accounts with consecutive account numbers. In effect, the Sub-account Number 
field is a two-digit extension of the Account Number field. There is a restriction on the use of sub-ac- 
count numbers: only title, heading, and total account records can use sub-account numbers. Regular 
accounts may not use sub-account numbers. This restriction maintains compatibility with the Ac- 
counts Payable and Accounts Receivable programs described in the Osborne and Associates publica- 
tion Accounts Payable and Accounts Receivable. Table 3-C shows sub-account numbers assigned to our 
sample chart of accounts. Notice that account number 1 1419.0, sub-account number (1 1419.0/0) 
is a regular account, the Allowance for Doubtful Accounts account There is also an account number 
1 1419.0/50 which is a total record for Trade Accounts Receivable. 

So far we have discussed designing a chart of accounts and assigning account numbers and 
sub-account numbers as the first step in setting up a chart of accounts in the Account file. Looking 
now at the right hand side of Table 3-C, you will see that there is still more information required on 
each of the Account records. Let's discuss the rest of the items on Table 3-C from left to right, starting 
with the Account Type field. 

We have already described the four types of account records you need in order to set up a chart 
of accounts in the Account file. The Account Type field is merely an encoding of this information. Ta- 
ble 3-E provides the details. 

Table 3-E. Account Types 



ACCOUNT 

TYPE DESCRIPTION 

Regular - Actual accounts with monthly, quarterly, etc balances Can 

receive postings 

1 Title -- Account Name field prints on financial reports (in expanded type, if 

available) Its Normal Balance field sets the standard balance to prevail 
until the next title account No dollar balances maintained Cannot 
receive postings 

2 Total - Account Name field prints on financial reports Causes printing of 

the total for the level in its Total Level field (totals at this level and all 
lower levels are then reset) No dollar balances maintained Cannot 
receive postings 

3 Heading -- Account Name field prints on financial reports No dollar bal- 

ances maintained Cannot receive postings 



The Report Type field determines whether the Account record is part of the income statement re- 
port or balance sheet report. The balance sheet report always includes accounts from the Assets and 
Liabilities categories while the Income and Expense categories appear on the income and expense re- 
port. If the Report Type field is T ', the account appears on the income statement; if it is '2', the ac- 
count is a balance sheet account. 

The Normal Balance field designates whether the account usually has a debit or credit balance. 
Here, a T means a debit balance and a '2' means a credit balance. Most Asset accounts have a nor- 
mal debit balance, Liability accounts have a normal credit balance. Income accounts have a normal 
credit balance, and Expense accounts have a normal debit balance. Table 3-C shows that there can be 
exceptions to this rule, however. Ultimately, an account's Normal Balance field, together with the 
Normal Balance field of the title account that most closely precedes it, determines the sign of the 
amount printed on the financial report. If the two Normal Balance fields are different (one is a credit 
and the other is a debit) the account amount is multiplied by -1 prior to printing. For example, in Table 
3-C title account 10000.0/50 Assets has a normal balance 'V (debit). Account 11419.0/0 Allow for 
Doubtful Accounts has a normal balance '2', so its balance is multiplied by -1 before printing. 

The Total Level field has two uses. For balance sheet accounts, it determines which of three col- 
umns the account amount or total amount will print in. If the Total Level field is '0', '1', or '2', the 
amount prints in the left-most column. '3', '4', or '5' cause the amount to print in the middle column. 
The amounts print in the right-most column with total levels '6', 7', '8', or '9', Income and Expense 
accounts all print in the same column, regardless of total level 

20 



The Total Level field also determines how often totals will print and how many levels of detail 
they will include. Thus, it plays a vital part in implementing the account hierarchy shown in Table 3-C 
by using different levels of indentation. The Total Level field ranges from to 9, with '9' being most 
general and '0' most specific. This means that level 9 includes the account amounts and subtotals 
from levels 8, 7, 6, 5, 4, 3, 2, 1, and 0. Similarly, level 5 includes subtotals and account amounts from 
levels 4, 3, 2, 1, and 0. Level can only be the amount from a single account. 

To better understand how the total level works, let's imitate the way the computer accumulates 
totals during one of the financial reports. For example, we can simulate part of a balance sheet report 
with data from the first part of Table 3-C. To start with, we need ten accumulators numbered 
through 9, corresponding to total levels through 9. Initially, these accumulators have a value of 0. 

Now we are ready to proceed down the chart of accounts (Table 3-C). The first three accounts 
are title and heading accounts. We can skip them, since they have no balances and hence no bearing 
on totals. The next account, 1 1 1 1 0.0 Revenue Bank, is a level 2 account with a balance of $2023.25. 
Add this amount to accumulators 2, 3, 4, 5, 6, 7, 8, and 9: 



Accumulator 
Accumulator 1 
Accumulator 2 
Accumulator 3 
Accumulator 4 



0,00 

0.00 

2023,25 

2023.25 

2023.25 



Accumulator 5 
Accumulator 6 
Accumulator 7 
Accumulator 8 
Accumulator 9 



2023.25 
2023.25 
2023.25 
2023.25 
2023.25 



This is a level 2 account, so we now print the amount in accumulator 2 (along with the data for ac- 
count 11110,0). After printing, zero accumulators 2, 1, and 0. Then proceed to the next account, 
1 1 150.0 Petty Cash. This is a level 2 account with a balance of $40, It affects the accumulators as 
follows; 

Accumulator 5: 



Accumulator 
Accumulator 1 
Accumulator 2 
Accumulator 3 
Accumulator 4 



0.00 

0.00 

40,00 

2063,25 

2063.25 



Accumulator 6 
Accumulator 7 
Accumulator 8 
Accumulator 9 



206325 
2063.25 
2063.25 
206325 
2063.25 



Again, we print the amount in accumulator 2 (along with data from account 11150.0). Zero ac- 
cumulators 2, 1, and 0. The next account, 1 1 199.0 Total, is a level 5 total account. Total accounts, 
like title and heading accounts, have no balance to add to the accumulators. Therefore, we just print 
the amount in accumulator 5, then zero accumulators 5, 4, 3, 2, 1, and 0. Note that the amount in ac- 
cumulator 5 was the sum of the balances from accounts 11110.0 and 11150.0. 

The algorithm should be evident by now. For a regular account at level X, add the account bal- 
ance to accumulators X through 9. Print the amount in accumulator X, then zero accumulators X 
through 0. For a total account at level X, there is no account balance to add to the accumulators. Just 
print the amount in accumulator X, then zero accumulators X through 0. The changes that other of 
the Asset accounts cause in the accumulators further illustrates the algorithm: 

Account 11400.0, level 5, heading: 

No change 
Account 11410.0, level 2, heading: 

No change 
Account 1 1412.0, level 0, $100941.03: 



Accumulator 
Accumulator 1 
Accumulator 2 
Accumulator 3 
Accumulator 4 



100941.03 
100941,03 
100941.03 
100941.03 
100941.03 



Accumulator 5 
Accumulator 6 
Accumulator 7 
Accumulator 8 
Accumulator 9 



Account 11414.0, level 0, $1500.00: 



Accumulator 
Accumulator 1 
Accumulator 2 
Accumulator 3 
Accumulator 4 



1500.00 
102441.03 
102441.03 
102441.03 
102441.03 



Accumulator 5 
Accumulator 6 
Accumulator 7 
Accumulator 8 
Accumulator 9 



100941.03 
103004.28 
103004.28 
103004.28 
103004.28 

102441.03 
104504.28 
104504.28 
104504.28 
104504.28 



21 



Account 1 
Accumulator 
Accumulator 1 
Accumulator 2 
Accumulator 3 
Accumulator 4 

Account 1 
Accumulator 
Accumulator 1 
Accumulator 2 
Accumulator 3 
Accumulator 4 



1419.0, level 
- 3028.23 
99412.80 
99412.80 
99412.80 
99412.80 

1419.0, level 
0.00 
99412.80 
99412.80 
99412.80 
99412.80 



$-3028.23: 
Accumulator 5 
Accumulator 6 
Accumulator 7 
Accumulator 8 
Accumulator 9 

total: 

Accumulator 5 
Accumulator 6 
Accumulator 7 
Accumulator 8 
Accumulator 9 



99412.80 
101476.05 
101476.05 
101476.05 
101476.05 

99412.80 
101476,05 
101476,05 
101476.05 
101476 05 



The Extra Lines field follows the Total Level field on Table 3-C It simply specifies the number of 
blank lines to skip on the financial reports after printing the account data. If the Extra Lines field is 9, 
the report skips to a new page. In Table 3-C, there are two extra blank lines following account 
10000.0, one extra blank line following account 1 1000.0, and the report goes to a new page following 
account 11999.0/50. 

The Sales Account field identifies the major income accounts. The total of these accounts is the 
divisor for calculating the "percent of sales" on the financial reports. The sample chart of accounts in 
Table 3-C has two sales accounts: 31110.0 Finished Goods, and 31190 Sales Returns and 
Allowances. 

The Special Report field designates which accounts will appear on the "special" financial report. 
Use this field to specify the accounts that will be on the special report. In Table 3-C we have chosen to 
include all regular accounts on the special report. 

The last field on Table 3-C, the This Month field, represents the seven Amount fields that are 
present on every regular account record. The Amount fields contain balances for this month, this 
quarter, this year, last year, and the three quarters prior to this quarter. When you first add an account 
to the Account file, you should put its up-to-date balances in the Amount fields. You may opt to 
systematically omit certain balances when you set up the account initially. For example, you might 
not enter the balances for previous quarters. 

POSTINGS FROM ACCOUNTS PAYABLE AND ACCOUNTS RECEIVABLE 

This General Ledger accepts postings from outside programs via the External Posting file. The 
Accounts Payable and Accounts Receivable programs described in the Osborne & Associates publica- 
tion Accounts Payable and Accounts Receivable will write records on that file. Entering a new invoice in 
Accounts Payable generates postings to the Vouchers Payable account and operator-designated Ex- 
pense accounts. Paying an invoice creates postings to decrease the Vouchers Payable and Cash ac- 
counts. In Accounts Receivable, entering a new invoice generates a posting to increase the Accounts 
Receivable account. Entering payment on an invoice creates postings to decrease the Accounts 
Receivable account and increase the Cash account 

Modifying payables or receivables invoices produces postings to adjust the General Ledger ac- 
counts affected by the changes. See Accounts Payable and Accounts Receivable for a more complete 
discussion. 

Let's look at the postings to the sample chart of accounts in Table 3-C that would result from an 
Accounts Payable invoice with the following particulars: 

Vendor: Breadboard Magazine 
Invoice Number: 31761 
Item: January Ad 
Amount: $890.00 



22 



When you enter this invoice, account 21 300.00 Vouchers Payable automatically receives a posting to 
increase by $890.00, If you elect to expense this invoice to normal magazine advertising, account 
43510.0 Periodicals also receives a posting to increase by $890.00. Subsequently paying this invoice 
results in postings to decrease accounts 21300.00 Vouchers Payable and 1 1 1 10.0 Revenue Bank by 
$890.00. 

ENTERING DIRECT POSTINGS 

The Accounts Payable and Accounts Receivable programs will take care of most of the postings 
to Expense accounts and a few others as well. You will have to directly enter postings to the rest of 
the accounts. Using 2) Direct Posting Entry, you can create postings to any account on the Account 
file. These direct postings are appended to the Direct Posting file. 3) Update clears the file. This gives 
you the flexibility to enter postings in small batches throughout the month (running 3) Update signals 
the end of a batch), or of holding onto them and entering them all just before running 3) Update. 2) 
Direct Posting Entry will list the current contents of the Direct Posting File at any time. 

END-OF-MONTH PROCEDURES 

At the end of each month, just before you are ready to print the financial reports, you must run 3) 
Update. This program takes the postings from the External Posting file and the Direct Posting file and 
adds them to the appropriate accounts in the Account file. While doing this, it prints an account-by- 
account listing of the activity. This listing is your audit trail of account balance changes. 

You may run 3) Update more often than once a month if you wish. You may have to if there is not 
enough room on either your Direct Posting file or External Posting file for one full month's worth of 
direct postings or external postings. The program detects these file full conditions. This is discussed 
further in the Error Recovery section of this chapter. 

Be sure to look over the update activity listing for errors. At the end of the listing there is a sepa- 
rate section of program-detected errors such as postings to nonexistent accounts. You must rectify 
these errors before running the financial reports. To make corrections, you can enter and update addi- 
tional direct postings. 

The next step in the end-of-month processing is to print the trial income statement This ac- 
complishes three things First, you can use it to check account balances before running the final in- 
come and expense statement, adjusting incorrect account balances by creating and updating addi- 
tional direct postings. Second, the trial balance statement adds up the balances of those accounts 
that are marked sales accounts by the Sales Account field, then it saves these totals on a special Ac- 
count record. Later, they are used as divisors in computing the percent column on the final income 
and expense statement. Third, the trial income and expense statement provides a gross profit figure 
you can directly post to the Retained Earnings account (23900.0 in Table 3-C), Now print a trial bal- 
ance report. Check the account balances. Adjust them as needed with direct postings. 

After you have run the trial income statement and trial balance sheet and corrected any incorrect 
account balances, you can print as many copies of the income statement and balance sheet as you 
need. Then use the monthly "move totals" operation in 4) Reports to clear the monthly balances on 
the Income and Expense accounts. This will not clear the Asset and Liability account balances, since 
they are running totals, 

END-OF-QUARTER PROCEDURE 

After printing the monthly reports at the end of the last month in a quarter, print the quarterly in- 
come statement and balance sheet. Then do a quarterly "move totals" operation in 4) Reports instead 
of a monthly "move totals" operation. The quarterly "move totals" automatically includes a monthly 
"move totals". In addition, it shifts the four quarterly balance fields in each Account record down one 
field. What was this quarter's balance becomes the first previous quarter's balance, which in turn 
becomes the second previous quarter's balance, and so on. The third previous quarter's balance is 
lost, since there is no fourth previous quarter's balance. 



23 



END-OF-YEAR PROCEDURE 

After printing the final monthly and quarterly income statements and balance sheets for the 
year, print the yearly income statement and balance sheet. Then do a yearly "move totals" operation 
in 4) Reports instead of a quarterly or monthly "move totals" operation. The yearly "move totals" in- 
cludes a quarterly and monthly "move totals". It also shifts what was this year's balance to last year's 
balance (last year's balance is lost) and clears this year's balance. 

ELECTIVE PROCEDURES 

There are several features of General Ledger that you may use at your discretion. You can ac- 
tually run any of the reports in 4) Reports any time you wish. In fact, there is no prescribed time to 
print the special report or the income statement or balance sheet for any of the previous quarter ac- 
count balances. The account balances will be up-to-date as of the last time that you updated the Ac- 
count file using 3) Update. 

You may need to use 5) Account File Maintenance from time to time. With it, you can add new 
accounts, delete old accounts, and modify existing accounts. Do be careful about directly modifying 
account balances using 5) Account File Maintenance; there is no audit trail. It is a much better prac- 
tice to enter and update additional direct postings to adjust account balances. 

5) Account File Maintenance will also provide you with a plain listing of the account records, 
should you ever need one. 

Occasionally, you may need to reorganize the Account file. Use 6) Account File Reorganize to do 
this. This program recovers otherwise unusable space in the Account file that results from deleting 
Account records. You can run 6) Account File Reorganize whenever you want. 

ERRORS AND ERROR RECOVERY 

Errors will occur in any accounting system, whether computerized or manual. When you first 
start using your programs, you will probably encounter occasional errors" caused by problems in the 
computer programs themselves. These errors are inevitable even with standardized programs like the 
ones in this book. For one thing, transcription errors will almost certainly occur when the programs 
are transferred from the book to the computer But even after you correct these errors, other program 
errors can still arise. There is no way to test every possible combination of data that you can enter, no 
matter how extensively the programs are tested before you actually use them. 

In practice, though, programming errors usually subside rather quickly, leaving you with opera- 
tor errors to take care of. The General Ledger programs have a number of features built in that will 
allow you to easily correct operator mistakes if you notice them in time These features include use of 
the backspace and line erase keys to correct any data item that you have not finished entering. Also, 
you can usually review each screenful of data and change specific items on it before they become per- 
manent. These features are common to all of the General Ledger programs. The following paragraphs 
describe some of these specific errors that can occur in each of the General Ledger programs, and 
what to do about them. 

MENU 

Now and then you will probably choose the wrong program in the Menu This is no problem, 
since every program allows you to exit immediately back to the Menu. See Chapter 4 for more explicit 
instructions for each program. 

POSTING ENTRY 

After you enter a posting in 2) Direct Posting Entry, the program checks to make sure there is still 
enough room on the Direct Posting file for another posting. If not. it displays this message: 

FILE FULL - RUN G/L UPDATE 

KEY <CONTINUE> <RETURN> TO EXIT 

At this point, you must run 3) Update. It clears both the Direct Posting file and the External Post- 
ing file after updating the Account file. 



24 



2) Direct Posting Entry can halt with this same file full message even when the Direct Posting file 
is not completely full This is because there must be room on the External Posting file for all the post- 
ings on the Direct Posting file. Thus, if the External Posting file is completely full with postings from 
Accounts Payable and Accounts Receivable, you will not be able to enter any direct postings without 
first running 3) Update. 

The External Posting file can also become full during Accounts Payable or Accounts Receivable. 
Refer to Accounts Payable and Accounts Receivable for a more complete description of this problem and 
what to do about it. 

UPDATE ERRORS 

Basically, there are three kinds of errors that can occur during 3) Update. The program will detect 
the error if there is a posting to an account that does not exist. It prints a list of these errors at the end 
of the update report. The recovery procedure for this error depends on whether you entered the cor- 
rect account number or not If not, re-enter the posting using 2) Direct Posting Entry, this time with 
the correct account number. If the account number is correct, you must use 5) Account File Mainte- 
nance to create a record for the account on the Account file. Then you can re-enter the posting using 
2) Direct Posting Entry. In either case, re-run 3) Update after you re-enter the posting. 

The program will not detect the other two kinds of update errors. You must check the update re- 
port to make sure you have not entered postings to the wrong account, or for the wrong amount The 
recovery procedure is the same for either of these problems. First, you must enter a direct posting to 
cancel the erroneous posting. Do this by making the new posting the same as the old posting, but 
reverse the sign of the posting amount. Now enter another new direct posting to the correct account 
for the correct amount. Again, when you are finished entering new direct postings to correct update 
errors, re-run 3) Update to effect the changes in the Account file. For example, suppose you found a 
posting to account 42046.0 Freight-In for $137.26 which should have been to account 43770.0 Other 
Freight-In for $173.26 Fix this by entering two postings using 2) Direct Posting Entry. The first post- 
ing is to account 42046.0 for $-137.26 to back out the error. The second posting is to account 
43770.0 for $173.26 to put in the proper posting. Run 3) Update to effect these postings. 

ACCOUNT FILE FULL 

The flashing bulletin FILE FULL - RUN REORGANIZE in 5) Account File Maintenance means there 
is no room on the Account file for any new records. Run 6) Account File Reorganize to recover any 
wasted space caused by deleted records. If this does not help, you must somehow increase the size of 
the Account file (your programmer should be able to help with this). 

POWER FAILURE 

If a power failure occurs during most programs you can recover by restarting the program as 
soon as the computer is running normally again. If a power failure occurs during 3) Update, make an 
especially careful check of the update report to make sure all postings are updated correctly. You may 
have to enter direct postings to adjust a partially updated account. If a power failure occurs during the 
"move totals" operation in 4) Reports, you must revert to your disk backups, repeating all operations 
you have performed since the backups were made. 



25 



26 



Chapter Four 
USER'S MANUAL 

The user's manual contains step-by-step instructions for use of all programs included in this 
General Ledger system. Explanations of program processes, error recovery, and exceptional pro- 
cedures are also given. User flowcharts are provided so that, once you are familiar with General 
Ledger processing, you can refer to them for a quick reference of program flow. 

There are several items worthy of mention which are characteristic of all programs throughout 
this accounting system. This first section describes those characteristics. Read it carefully before 
going on to the step-by-step instructions for each program. 

DATA ENTRY 

It is important that you be familiar with the different ways data is entered into the system. 
All data is entered by means of the keyboard, using the CRT screen to display messages that 
describe the entry. There are two modes in which data can be entered: input and keyin. 

Entry in input mode is always prompted by a question, with a question mark and cursor 
waiting on the next line. You will sometimes see, for example, the following displayed on your 
screen: 

KEY RETURN TO BEGIN; 'END' TO EXIT 

? 

The program will now await your entry. What you enter will show up here. 

KEY RETURN TO BEGIN; 'END' TO EXIT 



7 -*• 



At this time you should either press the RETURN key, or type in END and then press the RETURN key. 

The second mode of keyboard entry, keyin, is used more often. Keyin entry is prompted by a 
series of asterisks appearing on the screen, and the CRT cursor waiting at the first asterisk. 

These asterisks always follow a question or field description which identifies what you should enter. 

A typical keyin will appear as follows: 
ACCOUNT NUMBER ******* 
Now when you key a character, it will replace an asterisk. 

The length of your entry is limited by the number of asterisks displayed. You do not have to 
enter as many characters as there are asterisks — the asterisks represent only a length limit on 
entry. The BACKSPACE key backs out the last character and lets you re-enter it, except when the 
cursor is at the position of the first asterisk; then [BACKSPACE] has no effect The LINE ERASE key is 
also effective during the keyin in clearing out all characters entered in the course of the keyin; the cur- 
sor returns to the position of the first asterisk and awaits entry. Keyin entry is always terminated by 
pressing the RETURN key. 

Each data entry falls in one of two categories: alphanumeric or numeric. A Name field. Ad- 
dress field and Description field are three examples of an alphanumeric field. Any key or combina- 
tion of keys on the keyboard that produces a valid printing character can be used for 
alphanumeric entries. You are most likely to use letters, numbers and punctuation symbols for 
alphanumeric entries. 



27 



Only digits, [+], [-], and [SPACE] are allowed when entering numeric values, however. 
Blank or unfilled spaces (indicated by a "U" symbol) have no effect on the value of a numeric 

entry. For example, if you have a numeric field as follows: 

AMOUNT ******** 
you could enter the value 12345 as 

AMOUNT 123.45** 
or 

AMOUNT bfe*123 4b 
Either way the value is still 123.45. 

Sometimes the program further restricts numeric entry by limiting the range of values you 
can enter. Maybe only whole numbers between and 14 will be allowed, for example Throughout 
this chapter, numeric ranges are described by the numbers in parentheses following each field 
description or entry instruction 

GENERAL LEDGER ACCOUNT NUMBERS 

General Ledger account numbers are made up of six digits. There are five pre-decimal digits and 
one post-decimal digit, comprising an xxxxx.x format. General Ledger numbers may range from 
00000.1 to 99999.9 In addition, you may append a sub-account number between and 99 to the 
General Ledger number (indicated by an xxxxx.x/ xx format). This sub-account number is used for title, 
heading and total Account records. Methods for designing your chart of accounts and assigning 
General Ledger account numbers are discussed in detail in Chapter 3. 

ENTRY CODES 

Much information is entered via alphanumeric or numeric codes, such as the General Ledger ac- 
count numbers described above But unlike General Ledger account numbers, many coded entries do 
not remain constant throughout the system. Rather, many coded entry options are peculiar to each 
program, and as such are defined by each program. Such coded entries are defined in a prompt 
message similar to the following, with options displayed in parentheses after the prompt message: 

ENTER OPERATION CODE (0=EXIT, 1=ADD. 2=CHANGE) 
* 

Enter 'V if you wish to perform the ADD operation, or enter '2' if you wish to perform the CHANGE 
operation, then key [RETURN]. To exit the program you simply press the RETURN key; this blank ($ 
entry is equivalent to a '0' in most cases. 

A field number usually identifies each individual data item displayed on the screen. During 
a CHANGE operation you can change the value of a data item by entering its field number at the 
appropriate time. The prompt message for such an entry usually appears as follows: 

ENTER FIELD TO CHANGE (0 IF NONE) 

** 

At this time you may either enter a field number, as displayed on each individual display, or simply 
key [RETURN] if there are no changes or all changes have been made. Thus the field number is a kind 
of code, and its meaning is derived from looking at the entire CRT display. Note that if there is a data 
item displayed, but it has no identifying field number on this particular screen display, it cannot be 
changed during this program. 

For any entry you can just key [RETURN] without entering any other character, unless a 
blank entry is not allowed by entry range restrictions. During numeric entry a blank entry is the 
same as entering '0', then keying [RETURN]. During alphanumeric entry it is the same as enter- 
ing a blank (W, then keying [RETURN]. 

Dates are entered as six-digit numbers with no slashes or dashes separating month, day, 

or year. Any month or day whose number does not take two digits must be entered with a leading 
zero. For example, March 3, 1979 is entered as 030379. Dates are always redisplayed with punctua- 
tion after entry has been completed; 03/03/77 in the example. 



28 



Whenever a yes-or-no question is asked, such as ENTRY CORRECT?, a keyin of one 
character will be requested. The standard in this system is for a '1 ' to represent "yes", and a '0' 
or 'W to represent "no". 

The standard delete code is DEL. If anything other than DEL is entered when you are asked to 
enter a delete code, the deletion will not take place. 

SFK 

SFK refers to a Special Function Key, one of 16 numbered keys whose function is defined in a 
program SFK15 is defined in almost every program. Its only purpose is as a program exit. Exit 
from every program is possible through use of SFK15; in case your system does not include program- 
mable SFK's, other exit procedures are provided. Note that any SFK entry is not terminated by press- 
ing the RETURN key; its function begins immediately after the key is pressed. 

BULLETINS 

The fourth line of the CRT is reserved for the display of a bulletin. A bulletin is a short 
message, flashed three times, describing what is going on in the program. Some bulletins are 
referred to as error messages because they describe an error on your part. 

All keyin mode entries are tested for validity. This test includes a check for non-numeric charac- 
ters in a numeric entry, as well as a number range check for numeric entries. When some sort of unac- 
ceptable entry is discovered by this test, the bulletin OUT OF RANGE will flash. In the case of 
numeric entry, this bulletin signals either a number which is too large or too small, or not all numeric 
characters. The CRT cursor will be repositioned to the first of the string of asterisks, which have 
replaced the unacceptable entry, and the program will await another keyin. The validity test is re- 
peated for each keyin until you make an acceptable entry. 

Although the most frequent bulletin which will be displayed is OUT OF RANGE, there are a num- 
ber of other bulletins which may be flashed from time to time. Some of these are INVALID DATE, 
NOT ON FILE, RECORDED and DELETED. These bulletins serve as warnings or status messages dur- 
ing the course of the program. Whenever the bulletin identifies unacceptable entry, such as INVALID 
DATE, the cursor is repositioned to the same entry field and awaits another entry. If a bulletin serves 
as a status message, the program continues after the bulletin has been flashed. 

There are two program status messages which deserve special mention but are not 
flashed as bulletins. One is: 

PROCESSING. . . DO NOT INTERRUPT 

This message signifies a process taking place in computer memory which involves no user action or 
CRT display. 

The other message describes the process of one program loading another. This process occurs 
during the Menu program, and the program displays: 

LOADING PROGRAM # 

A similar message is displayed at the end of each program when the Menu is being loaded. For exam- 
ple, when the Menu is being loaded from the General Ledger Direct Posting program, the following is 
displayed during this process: 

G/L DIRECT POSTING LOADING MENU 

Be patient. When these messages appear there is something going on even though you 
can't see it on the CRT. Pressing keys and flipping switches will do harm; the messages appear 
because the processes take time. 

USING THE PRINTER 

Another message which does not take the flashing form is: 
PRINTER NOT READY 
In all programs where the printer is used, there is a test to make sure the printer is turned on 



29 



and ready to print. If it is not, the program waits with the PRINTER NOT READY message dis- 
played on the screen until the printer is turned on. When this message appears, there is no way to 
continue or even exit the program without turning the printer on. Once the printer is turned on, the 
message is cleared from the screen and the program continues. Do not turn the printer off just 
because the message no longer appears on the screen; if you do, your program will undoubtedly 
hang at some point, waiting to be able to print on the printer. 

FLOWCHARTS 

Flowcharts are provided with each program following the step-by-step user instructions. 

Flowcharts are a schematic guide to the action of a program. Once you are familiar with the operation 
of this General Ledger system, the flowcharts will serve as a quick reference to program use. 

Each flowchart symbol describes a logical step in a program from the user's point of view. 
Different symbols represent different kinds of steps. Table 4-A explains the general meaning of each 
symbol. In the actual flowcharts, the text inside each symbol describes the step in more detail. The '\£ 
symbol is used in the flowchart text and throughout the chapter to signify a blank 

Connectors are used to connect one point in a flowchart to another, thus avoiding the maze that 
can be created by too many crossing arrows For the purposes of this book we have formulated three 
connectors: Intra-program, SFK and Inter-program connectors. 







Intra-program connector, coded by letters of the alphabet This connector 
connects points within a program. 




s *£) SFK connector, coded by SFK numbers. 



O 



Inter-program connector, coded by program numbers. This connector 
connects a program to another program. It is applicable only if your com- 
puter system allows for loading of programs by another program. 



30 



Table 4-A. Flowchart Symbols Key 



Symbol 



Description 



ARROW 



Designates direction of program flow. 



USER INPUT 



Keyboard entry 




DISPLAY 



DISK ACTION 




DECISION 



PRINTOUT 



Describes or quotes what is displayed on CRT screen 
Quotes are shown in bold type, all capitals. 



Describes an action taking place on disk drive; do not 
interrupt program during this process 



Direction of program flow determined by a 
"no" answer to the enclosed question 



yes or 



Report printed by printer on standard paper. 



31 



Table 4-A. Flowchart Symbols Key (Continued) 



Symbol 



Description 



USER 
INSTRUCTIONS 



The operator must perform a duty outside of program. 




PROCESS,NOTE 



Describes a program action, or may contain a note to 
the user. 



<=P 



OR 



i 



TERMINAL 



Designates program start, program end, or return to 
main program 



C_) 




OR 



CONNECTOR 



9 



Continue program at matching code (note direction of 
arrow). Connector circles in regular weight are incom- 
ing connectors (flow transfers TO the connector) Con- 
nector circles in bold weight are outgoing connectors 
(flow transfers FROM the connector) 



32 



START AND END 

To start the system: 

1 . Put your General Ledger disk in your disk drive. 

2. Load the Menu program into your computer according to your system's instructions. 
The Menu's standard file name is G/LOOO. 

3. Run the Menu program. 

Note: If your system cannot load and run one program from another program, you will have to load 
and run each General Ledger program manually.. If such is the case, the Menu program cannot be 
used except as a printed guide to program selection. Remember to clear each program before you 
load another. Before you clear a program, make sure it has finished all processing. 

To end processing: 

1. When the day's transactions are completed, make any backup disks you keep from 
your working disks. 

2. Clear the last program on the screen from your computer's memory. If you use the Menu 
program, you should always clear the entire system with that program in memory. 



33 



PURPOSE: Allow program selection, then automatically load and run selected program. 

WHEN: To begin processing and automatically at the end of every program. All programs 

should be loaded by the Menu if possible. 

TO EXIT: Menu must be cleared manually. 



CRT 0-1 



G/L PROGRAM SELECTION MENU 

ENTER PASSWORD 

xxxx 

<bu I I etin> 

1) GENERAL INFORMATION F/M 

2) DIRECT POSTING 

3) POSTING UPDATE 

4) REPORTS 

5) ACCOUNT FILE MAINTENANCE 

6) ACCOUNT FILE REORGANIZE 



d = display only, x = enter only, z = enter or display with option to change 

LOAD MENU 

1) Load the Menu program according to your system instructions. 

When running the program manually, the initial Menu is displayed as CRT 0-1. 



34 



PASSWORD 

2) Enter your password. 

This system is password protected. If the characters you enter do not equal your password, the 
bulletin WRONG PASSWORD is flashed on the screen. You must re-enter the password until the cor- 
rect password is entered; repeat this step. 



Otherwise, proceed to step 3. 



CRT 0-2 



G/L PROGRAM SELECTION MENU 
CHOOSE PROGRAM BY NUMBER 
XX 

<bu I I etin> 

1) GENERAL INFORMATION F/M 

2) DIRECT POSTING 

3) POSTING UPDATE 

4) REPORTS 

5) ACCOUNT FILE MAINTENANCE 

6) ACCOUNT FILE REORGANIZE 



d = display only, x = enter only, z = enter or display with option to change 

PROGRAM SELECTION 

After successful entry of the password, or when the Menu is loaded automatically, the dis- 
play appears as CRT 0-2. 

3) Enter program number (1 - 6). 

When an acceptable program number has been entered, the following message is displayed on 
the fourth line of the Menu display: 

~ > LOADING PROGRAM # 

The Menu is now loading the requested program. Be patient. Some programs are lengthy and 
take some time to load into the computer memory. The CRT display will not change until the next pro- 
gram is loaded and run. 



35 



MENU G/LOOO 




go to requested 

program number 

1-6 



36 



G/L070 



General Information File Maintenance 



O 



PURPOSE: Enter or change today's date and company general information. 

WHEN: Daily or as needed. 

TO EXIT: Enter a field to change of '0', or SFK15 any time. 

This is basically the same General Information File Maintenance program as used in Payroll With 
Cost Accounting and Accounts Payable and Accounts Receivable. One new field has been added to this 
file record, the Fiscal Year Ends field, which has caused some field numbers to shift. Much of the in- 
formation contained on this file pertains to Payroll processing. However, the company information, 
Today's Date field, and the Fiscal Year Ends field are relevant to General Ledger. 

Enter your company name, address, federal and state numbers, and month your fiscal year ends 
when you initially set up your system. You may change this information at any time. 

Every day you perform a General Ledger task, you should set Today's Date in this file to 
the correct date. This program should be the first program run each day. 

The initial display appears as CRT 1-1. When entering information for the first time, it must be 
entered as a "change". 

CRT 1-1 



GENERAL INFORMATION FILE MAINTENANCE 

ENTER FIELD TO CHANGE (16 TO PRINTS TO EXIT) 

xx 



<b u I letin> 

1) COMPANY NUMBER 

2) NEXT P/R CHECK 

3) O.T. RATE 

4) HOURLY RATE 

5) FISCAL YR ENDS 

6) COMPANY NAME 

7) ADDR 
8) 

9) 

10) FED/STATE NOS. 



zz 

zzzzzz 
zz. zz 
zz. zz 
zz 



11) TODAY'S DATE 

12) PERIOD START 

13) PERIOD END 



zz/zz/zz 
zz/zz/zz 
zz/zz/zz 



14) PAYROLL NUMBER zz 



15) DAY NUMBER 
zzzzzzzzzzzzzzzzzzzzzzzz 
zzzzzzzzzzzzzzzzzzzzzzzz 
zzzzzzzzzzzzzzzzzzzzzzzz 
zzzzzzzzzzzzzzzzzzzzzzzz 
zzzzzzzzzzzzzzzzzzzzzzzz 



zz 



d = display only, x = enter only, z = enter or display with option to change 

37 



unanges 

1) Enter field number (0-16). 

- EXIT. Program ends The Menu is loaded 

1-15 - Request to change the value at this field. Enter a new value when requested See Table 1-1 for field 
details When entry is complete, repeat this step 

16 - PRINT. Print the General Information data for the currently displayed company To prepare for this opera- 
tion, load standard paper into the printer, then make sure the printer is turned on and ready to print When 
the report is completed, you may make more changes, repeat this step 



Table 1-1. General Information Fields 



Field 



Description 



1 

2 
3 

4 
5 
6 
7,8,9 
10 

11 
12 
13 
14 
15 



COMPANY NUMBER (1-10). Display General Information for this company. Accounts 
Payable, Accounts Receivable and General Ledger use only company number '1' 

NEXT P/R CHECK (1-999999). Used for Payroll 

OVERTIME RATE (0-99.99). Used for Payroll 

HOURLY RATE (0-99.99) Used for Payroll 

FISCAL YEAR ENDS (1-12). Month the fiscal year ends. 

COMPANY NAME (24 characters) 

COMPANY ADDRESS (three lines, 24 characters each) 

FEDERAL/STATE NUMBERS (24 characters). Enter Federal and State tax identification 
numbers on this line. The first 12 characters are intended for the federal number, the 
latter 1 2 characters for the state number. 

TODAY'S DATE. Change daily or as needed 

PERIOD START DATE. Used for Payroll 

PERIOD END DATE. Used for Payroll 

PAYROLL NUMBER (1-2). Used for Payroll 

DAY NUMBER (1-14). Used for Payroll 



A sample General Information report is shown in Report 1-1 



Report 1 


-1. General Information File Maintenance 






IMPRESSIVE PRODUCTS 


DATE OS/31/78 


GENERAL 


INFORMATION FILE MAINTENANCE 


PAGE 1 


PERIOD START 05/16/78 






PERIOD END 05/31/78 






PAYROLL NUMBER OB 






DAY NUMBER 10 






COMPANY CODE 1 NEXT CHECK NO. 


51E47 O.T. RATE 1.50 HOURLY RATE 0.00 


FISCAL VR ENDS IE 


COMPANY NAME IMPRESSIVE PRODUCTS 


FED/STATE TAX NUMBERS 91-1111111 


-A 137 45S789 


ADDRESS 356 BUSINESS STREET 


PARODICE, CALIFORNIA 


94710 



38 



GENERAL INFORMATION FILE MAINTENANCE G/L070 



/general 
/ information 

( FILE 

\ MAINTENANCE 




39 



G/L010 G/L Direct Posting Entry/Print 



O 



PURPOSE: Enter direct postings to General Ledger accounts, and optionally print these post- 
ings. 

WHEN: Daily or as needed. 

TO EXIT: Enter an operation code of '0', or SFK15 any time. 

Any General Ledger postings which are not made through Payroll, Accounts Payable or Ac- 
counts Receivable (external postings) must be entered using this program. This program will also be 
used to adjust account totals when balance errors are being corrected. 

Any Posting records created will remain on the Direct Posting file until General Ledger Update is 
run. You may print the contents of the Direct Posting file at any time by selecting the PRINT operation 
in this program. 

Whenever you create a Posting record, the program checks the contents of the Direct Posting 
and External Posting files. If the Direct Posting file is filled to its limit, or if the External Posting file will 
be filled to its limit when the Direct Posting records are added to it during the General Ledger Update 
program, the program stops with this message displayed on the screen: 

FILE FULL - RUN G/L UPDATE 

KEY <CONTINUE> <RETURN> TO EXIT 

Key [ CONTINUE] and [ RETURN]; the Menu will be loaded. Select and run the G/L Update program. 
When it is completed, re-select Direct Posting Entry /Print and continue entering your batch of post- 
ings. 

The initial display for this program appears as CRT 2-1. 



40 



CRT 2-1 



G/L DIRECT POSTING ENTRY/PRINT 

ENTER OPERATION (0--EXIT. l-=P0STi 2=PRINT> 

x 

<bul I etin> 

ACCOUNT xxxxxx occount name> 

DDATE zz/zz Occount type> 

2)REFERENCE zzzzzz OPENING BALANCE 

3)AM0UNT zzzzzzzzzzz CLOSING BALANCE 



XXXXXX. XX 
XXXXXX. XX 



d = display only, x = enter only, z = enter or display with option to change 
SELECT OPERATION 

G/L DIRECT POSTING ENTRY/PRINT 

ENTER OPERATION (0=EXIT; 1 =POST; 2=PRINT) 

1) Enter operation code (0-2) 

- EXIT. Program ends The Menu is loaded 

1 - POST. Request to enter a direct posting to a General Ledger account; proceed to step 2 

2 - PRINT. Print current Direct Posting records; proceed to step 5 



OPERATION IS POST 

You may only post amounts to General Ledger accounts which are established on the Account 
file. 

2) Enter account number (0-99999 9) 

- POST operation complete. A new operation is requested, return to step 1 

General Ledger number - Request to post an amount to this General Ledger account. A check is made to 
see if the requested General Ledger account is on the Account file 

If yes. the account name. date, opening balance and account description are displayed on a screen similar 
to CRT 2-1 You may continue with the requested operation, proceed to step 3 

If no. the bulletin NOT ON FILE is flashed The account number must be on the Account file before a direct 
posting may be entered for that account A new account number is requested, repeat this step 



41 



DIRECT POSTINGS DATA 

If you discover at this point that you have entered the wrong account number, you must enter 
any ficticious postings data, and then select a final action (step 4) of 4 - CANCEL. Then re-enter the 
account number as needed. 

3) Enter field values as requested. See Table 2-1 for field details. Initially, the posting Date field is 
set to today's date (from the General Information file) by the program. The Reference field and 
Amount field values are requested automatically 

When a value has been entered for each field, you may change any field values just entered and 
also the date at field 1, proceed to step 4 



Table 2-1. Direct Posting Fields 



Field 



Description 



DATE (MMDD). The date of this posting entry. Note that you enter only the month and day 
(MMDD), and not the year. If you enter a '0' or to at this field, today's date from the 
General Information file will be used automatically. 

REFERENCE (0-999999). Invoice number or other reference code. 

AMOUNT (-9999999.99 - +9999999.99). Amount of direct posting. The closing balance 
will be adjusted and displayed according to this posting amount 



CORRECTIONS 
ENTER FIELD TO CHANGE (0=NONE; 4=CANCEL) 

4) Enter field number to change (0-4). 

O - No changes, save this record The bulletin RECORDED is flashed when this record is saved on the Direct 
Posting file A new account number is requested, return to step 2 

1-3 - Change value of requested field. See Table 2-1 for field details A new closing balance is calculated and 
displayed with any change to the amount at field 3 Repeat this step 

4 - CANCEL. This record is not saved on the Direct Posting file A new account number is requested, return to 
step 2 

5) OPERATION IS PRINT 

The print operation begins immediately once the operation is requested. To prepare for the print 
operation, load standard paper into the printer, then make sure the printer is turned on and ready to 
print. The entire Direct Posting file is printed. When the report is completed, another operation is re- 
quested; return to step 1. 

A sample Direct General Ledger Postings report is shown in Report 2-1 



Report 2-1. Direct General Ledger Postings 



ACCOUNT SOURCE DATE 



43110.0 


3 


10/18 





43750.0 


3 


9/sa 


84 


31110.0 


3 


5/31 





41300.0 


3 


5/31 





43510.0 


3 


5/31 





43590.0 


3 


5/31 





43340.0 


3 


5/31 





43530.0 


3 


5/31 






IMPRESSIVE PRODUCTS 
DIRECT GENERAL LEDGER POSTINGS 

AMOUNT> <ACCOUNT SOURCE DATE REF 

0.00> <43730.0 3 9/88 88 

-4.00> O1110.0 3 9/SH 123 

903. 77> O13S0.0 3 5/31 

59S.44> <43340.0 3 5/31 

S0S6.00> <43530.0 3 5/31 

994. 00> <31590.0 3 5/31 

3S0.00> <43410.0 3 5/31 

864. 89> < 

ES TOTAL DIRECT POSTINGS S173031.58 



AMOUNT> <ACCOUNT SOURCE DATE 

-3.00> <43740.0 3 9/88 

100000. 00> <11110.0 3 9/8E 

73B3.81> O1590.0 3 5/31 

3350. 00> <43410.0 3 5/31 

SG4.B9> <43730.0 3 5/31 

1008. 00> <41300.0 3 5/31 

986. 00> <43510.0 3 5/31 



DATE 05/31 /7B 


PAGE 1 




REF 


AMOUNT 


83 


-4.00 


456 


50000.00 





1008.00 





986.00 





498.34 





598.44 





8086.00 



42 



DIRECT POSTING ENTRY/PRINT G/L010 (Page 1 of 2) 



<G/L DIRECT 
POSTING 
ENTRY/PRINT 
mask 2 




43 



DIRECT POSTING ENTRY/PRINT G/L010 (Page 2 of 2) 



£ 



operation 

code = 1 

(POST) 



-»* 



O 



page 1 



YES 





account 

description 

and current 

amounts, 

today's date 



keyin 
reference number 



keyin 
posting amount 



closing amount 

adjusted 
automatically 




ENTER 

FIELD TO 

CHANGE 

(0 = NONE; 

4 = CANCEL) 



keyin 
field number 




record is 
not saved; 
cancelled 





closing amount 

is adjusted if 

Amount field 

is changed 



page 1 



44 



G/L030 I G/L Posting Sort/Update 



O 



PURPOSE: Update direct postings and external postings to the General Ledger Account file. 
WHEN: Daily or as needed, and always before printing reports at the end of the month. 

TO EXIT: Enter initial response of 'END', or SFK15 any time. 

This program sorts and then updates direct postings and external postings to the Account file. It 
also clears both the Direct Posting and External Posting files. 

You will always run this program before printing reports, to ensure that your most recent 
postings are included in these reports. 

You must also run Update when either the Direct Posting or External Posting file is full. 

This "file full" condition will be detected during the Direct Posting Entry program. To recover from 
this situation you must run Update in order to clear the files. Once the files are cleared you may return 
to Direct Posting Entry and resume entering postings. Similarly, if the External Posting file is found full 
during Accounts Payable or Accounts Receivable processing, run this G/L Update program to clear it. 
Then return to your Accounts Payable or Accounts Receivable program and resume processing. 

G/L Posting Sort/Update involves two separate programs The first program sorts the postings 
on the Direct Posting and External Posting files. The postings from both files are then merged 
together onto the External Posting file, and the Direct Posting file is cleared. When the sort is com- 
plete, the first program automatically loads the second program. 

The second program updates all the postings to the appropriate Account records in the Account 
file. An account-by-account Update activity report is printed during the Update program. When the 
update is complete, the External Posting file is cleared, and the Menu is loaded. 

Inspect the Update activity report for posting errors (see discussion in Chapter 3, Errors and Error 
Recovery). If you discover errors, correct them using Direct Posting Entry, or Account File Mainte- 
nance, if necessary. Then re-run Update before printing reports. 

To prepare for this program load standard paper into the printer, then make sure the printer is 
turned on and ready to print. 

START OR END 

This program requires virtually no user action; you need only tell it when to begin. 

G/L POSTINGS SORT/UPDATE 

KEY RETURN TO BEGIN; ENTER 'END' TO EXIT. 

1) Start or end program. 

RETURN - Continue Sort/Update programs When all posting records have been sorted and updated to the 
General Ledger Account File and the G/L Update activity report is printed, the program ends and the Menu 
is loaded 

END - EXIT Program ends The Menu is loaded 

The Sort program involves no user action. There are, however, certain status messages displayed 
on the screen to let you know where the program is within the sort, and how the sort is progressing. 
Initially, the Sort program will display the following message: 

WORKING. DO NOT INTERRUPT 

If there are no records located on the Direct Posting or the External Posting files, the message NO 
RECORDS is displayed. The Sort program then loads the Menu, since there is no reason to proceed 
with the update. 



45 



When posting records are located on either or both of the posting files, the program first sorts 
the Direct Posting file. The first sort status message reads: 

MAX NUMBER OF RECORDS: ## 

The number displayed here is the total number of records on both the Direct Posting and External 
Posting files. While the actual sort takes place the following message is displayed 

SORT DIRECT POSTINGS 

When this Direct Posting sort is complete, the External Posting file is sorted. The sort message reads: 

SORT EXTERNAL POSTINGS 

During the sort, each of the two posting files is saved in blocks on the Work file. If more than one 
block of records is saved, these messages are displayed as each block of records is saved: 

RECORD NUMBER: m 
BLOCKS SORTED: n 

m is the number of records saved on the Work file so far. n is the number of blocks sorted. After all 
blocks of records are sorted and saved they must be merged together onto the External Posting file in 
their final order. During this process, the following message is displayed. 

MERGE SORTED BLOCKS 

Records from each block on the Work file are merged and saved, sector by sector, onto the External 
Posting file. As each sector is saved, the activity is followed by the following message: 

RECORD NUMBER: n 

As each sector of records is saved, n is incremented by the number of records saved. When the sort is 
complete, the program displays this message: 

SORT COMPLETE 

At the completion of the Sort program, your screen display will appear similar to CRT 3-1. 



46 



CRT 3-1 



G/L POSTING SORT/UPDATE 

KEY RETURN TO BEGIN? ENTER 'END' TO EXIT 

WORKING. . .DO NOT INTERRUPT 

MAX NUMBER OF RECORDS! dd 

MERGE SORTED BLOCKS 

RECORD NUM3ERs dd 



BLOCKS SORTEDs 



SORT COMPLETE 



dd 



d = display only, x = enter only, z = enter or display with option to change 

The Sort program then loads the Posting Update program. The screen display is cleared and the 
following title displayed: 

GENERAL LEDGER UPDATE 
PROCESSING, . .DO NOT INTERRUPT 

The update process begins immediately. An Update activity report is printed during the update 
process, so make sure your printer is turned on and ready to print. 

When all postings have been updated to the Account file and the G/L Update report has finished 
printing, the program ends and the Menu is loaded. 

A sample G/L Update report is shown in Report 3-1. An error report, which prints at the end of 
the Update report, is shown in Report 3-2. 



47 



Report 3-1. G/L Update 



IMPRESSIVE PRODUCTS 
G/L UPDATE 



ACCT 
11110.0 



SRCE DATE REF 

19/8 41 

1 10/1B 71437 

1 11/13 71671 



amount: ::srce date 



amount: ::srce date 



DATE 05/31/78 
PAGE 1 



AMOUNT : : : SRCE DATE 



REVENUE BANK 
NET CHANGE 



1 9/19 

1 9/SG 

1 10/13 

1 10/13 

1 10/31 

1 10/31 

1 11/13 



533 
7847 
S14 
71319 
672 
G76 
699 



1 11/15 10307B 
1 11/29 7864 
EMPLOYEE RECEIVABLES 

NET CHANGE 4645.00 



11610.0 1 9/17 154B 

1 10/31 B772 

FINISHED GOODS (AT MFG. COST) 

NET CHANGE 1039B5.S4 



11630.0 1 10/31 E2741 
OTHER INVENTORY 

NET CHANGE 563.77 



110.00::: 
140.00: : : 
100.00::: 



150.00:: : 

-250.00: :: 

1000.00: : : 

-100.00: : : 

150.00: : : 

150.00: : : 

150.00: :: 

-992.00: : : 

-150.00: : : 

P/R 



14378.02: : : 
B27B.95::: 

P/R 
0.00 



451 .94: : : 

P/R 
0.00 



9/19 
10/31 
11/29 



71151 
71449 
71B22 



9/20 

9/28 
10/13 
10/31 
10/31 
11/ 7 
11/13 
11/15 110778 
11/29 7867 
A/P 35 
4645.00 



7B50 
71250 
621 
642 
673 
6BB 
700 



120.00: : 

175.00: : 

70.00: : 



ioo.oo: : 

440.00: : 

1282.00: : 

75.00: : 

150.00: : 

200.00: : 

ioo.oo: : 

-ioo.oo: : 

-ioo.oo: : 

a/r o 

o.oo 



1 9/20 42 
1 10/31 71S6B 
3 9/22 456 



1 9/25 
1 9/28 
1 10/13 
1 10/31 
1 10/31 
1 11/ 7 
1 11/13 
1 11/22 
1 11/29 
G/L 
0.00 



589 

71251 

622 

643 

674 

692 

701 

7BG0 

7870 



10/31 1S4B 14378.02::: 

10/31 H177B 50000.00::: 

A/P 7 A/R 
1039B5.54 0.00 



11/22 7B12B7 

A/P 2 

5G3 . 77 



1 9/19 71224 
1 10/31 71712 



PREPAID TAXES 
NET CHANGE 



11890.0 1 11/22 2111 
OTHER PREPAID EXPENSES 
NET CHANGE 3996.00 



15110.0 1 9/17 BE41 
1 10/31 64567 
1 11/29 645670 
MACHINERY & EQUIPMENT 

NET CHANGE 4853. 3B 



1366.23::: 1 9/EB 7107 

1600.00::: 1 11/ 7 13577E 
P/R A/P 6 
0.00 6944.09 



1998.00::: 

P/R 
0.00 



1 11/29 2111 
A/P E 
3996.00 



1917.00::: 1 9/26 B375 

457.40::: 1 10/31 71534 

eeb.70: : : 

P/R A/P 9 

0.00 4853.38 



111.B3: 
A/R 
0.00 



1366.23: 
536.23: 
A/R 
0.00 



1998.00: 
A/R 
0.00 



1331.25: :: 
233. bb: : : 



1 10/31 154B 
1 10/31 E51574 
G/L 
0.00 



G/L 
0.00 



1 9/28 71306 
G/L 



120.00: : : 

190.00: : : 

50000.00: : : 

OPENING BAL 
CLOSING BAL 



ioo.oo: : 

ioo.oo: : 

soo.oo: : 

125.00: : 

iso.oo: : 
75.00: : 

ioo.oo: : 
-iso.oo:: 
-iso.oo: : 

OPENING BAL 
CLOSING BAL 



-14378.02: : : 

14463.52: : : 

OPENING BAL 
CLOSING BAL 



9/EB 
10/31 



71E90 
71713 



E0235.E5 
715B0.2S 



9/26 
10/13 
10/13 
10/31 
10/31 
11/13 
11/15 
11 /SB 



7B44 

49 

645 

671 

675 

698 

7B56 

71747 



1030.00 
5675.00 



266195.00 
370180.54 



OPENING 


BAL 





00 


CLOSING 


BAL 


563 


77 


775.40: 


: 1 


10/31 - 


717 


OPENING 


BAL 





00 


CLOSING 


BAL 


6944 


09 



G/L 
0.00 



1 9/30 B732G 
1 11 /EB 7136 



OPENING BAL 
CLOSING BAL 



63.50 
4059.50 



A/R 
0.00 



G/L 
" "O 



SRCE DATE 



REF 
6066 



IMPRESSIVE PRODUCTS 
G/L UPDATE 

amount::: srce date REF amount: : :srce date REF 
127.53::: 1 10/13 71308 166.14::: 1 10/31 5964 



42B.6B::: 1 10/31 S103E 
180 .24: : : 1 11 /E9 64567 

OPENING BAL 350000.00 
n ~-.i> r./,i nr^nrn nn 

DATE 05/31 /7B 
PAGE 2 



amount: : :srce date 
500.55: : 



1 11/13 33531 
30000.00 



120.00 
EOO.OO 



-E50.00 
40.00 

1000.00 
100.00 
150.00 
150.00 

-150.00 
SOO.OO 



304.93 
-228.70 



AMOUNT 
378.08 



IMPRESSIVE PRODUCTS 
G/L UPDATE 



IMPRESSIVE PRODUCTS 



DATE 05/31 /7B 
PAGE 3 . 



DATE OS/31 /7B 



mddccciuf ppnrnir. T R 



DATE 05/31 /7B 



IMPRESSIVE PRODUCS 



1 

1 

f 






IMPRESSIVE PRODUCTS 









DATE 
PACF 


05/31/78 
9 




— "1 










IMPRESSIVE PRODUCTS 
G/L UPDATE 








DATE 
PAGE 


05/31/78 
10 








ACCT SRCE 


DATE REF 


amount: 


:SRCE 


DATE REF 


AMOUNT : : 


SRCE DATE 


REF 


AMOUNT: : :SRCE 


DATE REF 


AMOUNT 




43790.0 1 

1 

1 

MISCELLANEOUS 

NET CHANGE 


9/19 71152 

9/28 71E55 

11/15 111578 

55E.48 


69.19: 

28.30: 

4B.00: 

P/R 





00 


1 
1 
1 


9/EO 71228 

10/31 71714 

11 /E9 71823 

A/P 10 

55E.4B 


31 .00: : 

28.17: : 

105.35: : 

A/R 
0.00 


1 9/20 
1 11/ 7 

G/L 
0.00 


71E31 
7157E 


65.00: : : 
20.00: : : 

OPENING BAL 
CLOSING BAL 


1 
1 


9/EO 71232 
11/13 71670 

56.24 
G0B.7E 


65 
92 


00 
47 




44E00.0 1 9 /IE 5707 
1 9/30 100178 
1 11/ 7 71571 
1 11 /E9 1078 

INTEREST ( INCOME ) EXPENSE 
NET CHANGE 4420.32 


1 .El: 

3.67: 

306. E5: 

5.00: 

P/R 





00 


1 
1 
1 
1 


9/19 71191 
10/31 71495 
11/ 7 103178 
11 /E9 357720 

A/P 14 

4420.32 


1786.49:: 

1750.31: : 

-138.95:: 

o . 93 : : 

A/R 
0.00 


1 9/EB 
1 10/31 
1 11/15 

G/L 
0.00 


71252 
10E078 
110178 


61 .37: : : 
3 . 67 : : : 
E.56: : : 

OPENING BAL 
CLOSING BAL 


1 
1 

1 


9/30 B660 
10/31 10317B 
11/15 112678 

945.25 
5365.57 


48 9 

138 

9 


46 
95 
40 




45200.0 1 
STATE 

NET CHANGE 


9/25 9217B 
136.27 


136.27: 
P/R 




.00 




A/P 1 
136.27 


A/R 
0.00 


G/L 
0.00 




OPENING BAL 
CLOSING BAL 




3324.90 
3461 .17 








TOTAL NET CHANGE: 




























DEBIT ACCOUNTS 373005.28 
CREDIT ACCOUNTS E69066.72 




























PROOF 


103938.56 



























48 



Report 3-2. G/L Posting Errors 













IMPRESSIVE PRODUCTS 








DATE OS/31 /7B 














G/L POSTING 


ERRORS 








PAGE 11 






ACCT NO 


SRCE 


DATE 


REF 


AMOUNT 


ACCT NO 


SRCE 


DATE 


REF 


AMOUNT 


ACCT NO 


SRCE 


DATE 


REF 


AMOUNT 


e.o 


1 


9/ 8 





-17a69.9E 


E.O 


1 


9/13 





0.00 


a.o 


1 


9/16 





0.00 


s.o 


1 


9/17 





.00 


a.o 


1 


9/17 





0.00 


a.o 


1 


9/19 





-83749.84 


e.o 


1 


9/ao 





.00 


a.o 


1 


9/30 





-65.00 


s.o 


1 


9 /SO 





-6848.54 


a.o 


1 


9 /as 





-S04S .04 


a.o 


1 


9/36 





0.00 


a.o 


1 


9/S6 





0.00 


E.O 


1 


9/as 





-45S7.79 


a.o 


1 


9/30 





0.00 


a.o 


1 


9/30 





0.00 


s.o 


1 


9/30 





-ao .oo 


s.o 


1 


10/13 





-aai39.ss 


a.o 


1 


10/18 





0.00 


a.o 


1 


10/18 





-8659.61 


a.o 


1 


10 /SO 





-13303.96 


a.o 


1 


10/31 





0.00 


a.o 


1 


10/31 





.00 


a.o 


1 


10/31 





0.00 


a.o 


1 


10/31 





-19B04.4S 


a.o 


1 


10/31 





-55196. 6B 


s.o 


1 


10/31 





-59070.91 


s.o 


1 


11/ 7 





0.00 


a.o 


1 


11/ 7 





-38083.51 


E.O 


1 


11/13 





-1661. as 


a.o 


1 


11/15 





0.00 


a.o 


1 


11/1S 





.00 


a.o 


1 


11 /EE 





0.00 


a.o 


1 


11/37 





0.00 


a.o 


1 


11/38 





.00 


a.o 


1 


11/38 





-9156.88 


a.o 


1 


11/39 





0.00 


a.o 


1 


11 /E9 





.00 


a.o 


1 


11/39 





0.00 


a.o 


1 


ii /as 





0.00 


a.o 


1 


11/39 





.00 


a.o 


1 


11/39 





-3346.68 


a.o 


1 


11/30 





0.00 


aoao.o 


1 


9/ B 





-3199.05 


aoao.o 


1 


9/ia 





B045.0S 


soao.o 


1 


9/16 





0.00 


aoao.o 


1 


9/17 





40385.30 


3030.0 


1 


9/17 





-333.87 


aoao.o 


1 


9/19 





-1107.66 


aoao.o 


1 


9/ao 





.00 


aoao.o 


1 


9/ao 





IIS. 57 


aoso.o 


1 


9/ao 





-15.63 


aoao.o 


1 


9 /as 





.00 


aoao.o 


1 


9/36 





13437.53 


soao.o 


1 


9/E6 





18535.68 


aoso.o 


1 


9/as 





.00 


aoso.o 


1 


9/30 





3536.41 


aoao.o 


1 


9/30 





14749.97 


aoao.o 


1 


9/30 





-ao .oo 


aoao.o 


1 


10/13 





-1380.63 


aoso.o 


1 


10/18 





33.00 


aoao.o 


1 


10/1B 





-719.5S 


aoao.o 


1 


io /ao 





-iaaoa.96 


aoao.o 


1 


10/31 





0.00 


aoao.o 


1 


10/31 





6614.17 


3030.0 


1 


10/31 





50939.94 


aoao.o 


1 


10/31 





-4.00 


aoao.o 


1 


10/31 





-1130 .98 


aoao.o 


1 


10/31 





-19304.43 


aoa'o . o 


1 


11/ 7 





6S86.79 


aoao.o 


1 


11/ 7 





-38858 .03 


aoso.o 


1 


11/13 





0.00 


aoso .o 


1 


11/15 





86.50 


aoao.o 


1 


11/1S 





12787.39 


3030.0 


1 


n /as 





7795.63 


soao.o 


1 


11 /E7 





491.93 


aoao.o 


1 


ii /as 





.00 


aoao.o 


1 


ii /as 





431.38 


aoao.o 


1 


11/39 





0.00 


aoao.o 


1 


11 /S9 





1 .00 


EOEO.O 


1 


11/39 





114. S4 


aoso.o 


1 


11/39 





176B.35 


aoao.o 


1 


11/39 





3104.64 


aoao.o 


1 


11 /39 





4430.40 


soao.o 


1 


11/30 





4864.61 


3037.0 


1 


9/19 


53478 


38 .10 


3073.0 


1 


9/16 


8405 


-5963. 3S 


3073.0 


1 


9/16 


B40S0 


S963.35 


4430.0 


1 


10/31 


714S5 


61 .37 


45S1 .0 


1 


9/S6 


7847 


443.89 


4531 .0 


1 


11 /S9 


7864 


364.34 


39098.0 


1 


11 /E9 


39098 


17.65 


S9098.0 


1 


11/30 


39098 


-17.65 


31640.0 


1 


10/31 


71531 


198S.03 


43380.0 


1 


10/31 


633 


10 .00 






















94 ERROR POSTINGS 


= » 


S09931.EB 























49 



G/L UPDATE 



G/L020 
G/L030 






G/L POSTINGS 
SORT/UPDATE 



KEY RETURN 

TO BEGIN; 

ENTER 'END' 

TO EXIT 






WORKING- 
DO NOT 
INTERRUPT 




/ G/L POSTINGS 
( SORT 

\LOADING MENU 



load 

Menu 

G/LO00 




YES 




NO RECORDS 



MAX NUMBER 
OF RECORDS:* 




sort 

direct 

postings 



sort 
external 
postings 



merge 
sorted blocks 




SORT 
COMPLETE 



load 
Posting 
Update 
G/L030 




GENERAL 
LEDGER 
UPDATE 



PROCESSING- 
DO NOT 
INTERRUPT 





50 



G/L040 



Reports 



O 



PURPOSE: Print a variety of reports from the Account file, and update month-to-date, 

quarter-to-date, and year-to-date totals. 
WHEN: As needed, and at the end of each month, quarter, and year. 

TO EXIT: Enter report type of '0', or SFK15 any time. 

G/L Reports prints your General Ledger financial reports. You should run a full set of reports once 
a month after running Posting Update. First, run a trial income statement and trial balance, and in- 
spect each report for possible errors; any errors should be corrected immediately using the Account 
File Maintenance or Direct Posting/Update programs. If you make any changes, you should run 
another set of trial reports and check for errors once again. When the trial reports are correct, run the 
monthly, quarterly, etc. reports as necessary. 

To prepare for this program, load standard paper into the printer, then turn the printer on and 
make sure it is ready to print. 

The display for this program appears in CRT 4-1. 

CRT 4-1 



G/L REPORTS 



<bu I I etin> 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 



+ TYPE z 
+ 0--EXIT 
+ 1=TRIAL 
+ 2=SPECIAL 
+ 3"M0NTHLY 
+ 4 "QUARTERLY 



+ FORMAT z + QUARTER z + MOVE z + 

+ 1--INC0ME STMT + 0=CURRENT + 1=M0NTHLY + 

+ 2-BALANCE + 1=1ST PREVI0US+ 2=QUARTERLY + 

+ + 2=2ND PREVI0US+ 3-YEARLY + 

+ + 3---3RD PREVIOUS* + 

+ + + + 

+ + + 

+ + + + + + -!- 



+ 5~M0VE TOTALS + 

+ + + + + + + + + + + + + + + + + + + + + + + + 

<Posting[ file status> 



d = display only, x = enter only, z = enter or display with option to change 



51 



SELECT REPORT PARAMETERS 

1) Enter report type (0-5) 

- EXIT. Program ends The Menu is loaded 

1 - TRIAL. Print a trial income statement or trial balance report. You must select the report format; proceed to 

step 2 

2 - SPECIAL. Print a listing of all accounts which are indicated to be included at the Special field on the Ac- 

count record, proceed to step 7 

3 - MONTHLY. Print a monthly income statement or balance report You must specify the report format, pro- 

ceed to step 2 

4 - QUARTERLY. Print a quarterly income statement or balance report You must specify the report format, pro- 

ceed to step 2 

5 - MOVE TOTALS. Request to perform monthly, quarterly, or yearly updates This operation should be 

selected only at the end of a month, quarter, or year At the end of each month, move monthly, at the end of 
each quarter, move quarterly, at the end of each year, move yearly (refer to Chapter 3 for more discussion) 
You must specify which move to make, proceed to step 4 

2) Enter report format (1-2) 

1 - INCOME STATEMENT. Print an income statement in conjunction with the report type. 

If trial or monthly type, proceed to step 7 

If quarterly type, you must specify which quarter, proceed to step 3 

2 - BALANCE. Print a balance sheet report in conjunction with report type: 

If trial or monthly type, proceed to step 7 

If quarterly type, you must specify which quarter, proceed to step 3 

3) Enter quarter (0-3). 

- CURRENT. Print quarterly report for the current quarter Proceed to step 7 

1 - FIRST PREVIOUS QUARTER. Print quarterly report for one quarter prior to the current quarter Proceed to 

step 7 

2 - SECOND PREVIOUS QUARTER. Print quarterly report for two quarters prior to the current quarter Proceed 

to step 7 

3 - THIRD PREVIOUS QUARTER. Print quarterly report for three quarters prior to the current quarter Proceed 

to step 7 

4) Enter move (1-3). 

1 - MONTHLY. Clear the monthly figures on the Income and Expense accounts Perform this operation only at 

the end of the month Proceed to step 5 

2 - QUARTERLY. Move quarterly figures, and clear the monthly and current quarter figures on the Income and 

Expense accounts Perform this operation only at the end of a quarter Proceed to step 5 

3 - YEARLY. Move quarterly and yearly figures, and clear the monthly, current quarter, and current year figures 

on the Income and Expense accounts Perform this operation only at the end of the year Proceed to step 5 

Since it is very tedious to recover from an erroneous MOVE operation, you must verify any 
selected MOVE operation. 

ENTRY CORRECT? 

5) Verify move direction (0-1) 

- No, do not move. New report parameters are requested, return to step 1 

1 - Yes, OK to move as indicated. You should have up-to-date reports for the end of the month/quarter/year 

before the move operation A check is made on your report status, proceed to step 6 

HAVE YOU RUN ALL YOUR REPORTS? 

6) Verify current reports (0-1) 

- No, not all reports current, do not move. New report parameters are requested, return to step 1. 

1 - Yes, current reports verified, move as indicated. WORKING. DO NOT INTERRUPT is displayed on the 

screen Do not interrupt the program while a move operation is taking place When the move operation is 
complete, new report parameters are requested, return to step 1 



52 



ENTRY CORRECT? 

7) Verify report parameters (0-1) 

- No, do not print. New report parameters are requested; return to step 1 

1 - Yes, print. Make sure your printer is turned on and ready to print When the report is finished printing, new 

report parameters are requested, return to step 1 

A sample Trial Income Statement is shown in Report 4-1, a Trial Balance Sheet in Report 4-2. A 
Special Report is shown in Report 4-3. A Monthly Income Statement is shown in Report 4-4, a 
Monthly Balance Sheet in Report 4-5. A Quarterly Income Statement for the current quarter is shown 
in Report 4-6, and a Quarterly Balance Sheet is shown for the first previous quarter in Report 4-7; In- 
come Statements and Balance reports for varying quarters all use the same format. 

Report 4-1, Trial Income Statement (Page 1 of 4) 



IMPRESSIVE PRODUCTS 
TRIAL INCOME STATEMENT 



DATE 05/31 /7B 
PAGE 1 



XMCOME 



THIS MONTH 



31110.0 
31190.0 



31310.0 
313E0.0 



31510.0 
31590.0 



SALE OF GOODS 

FINISHED GOODS 

SALES RETURNS & ALLOWANCES 
TOTAL 

CONSULTING FEES 

ROYALTIES INCOME 

PATENT ROYALTIES 
CONSULTING ROYALTIES 

TOTAL 

OTHER INCOME 

COLLECTION OF BAD DEBTS 
MISCELLANEOUS INCOME 

TOTAL 



TOTAL INCOME 



198S65.4S 107.95% 
-14603.45 7.95% 
18366E.03 100. 00% 



O.OO 0.00% 
350.00 0.19% 
350.00 0.19% 



8135.55 1.16% 
0.00 0.00% 

S13S.SS l.iex 

190647.58 103.80% 



394350.04 107. 69% 
-88184.66 7.69% 
366165.38 100.00% 



0.00 0.00% 
700.00 0.19% 
700.00 0.19% 



4604. 85 l.ES% 

0.00 0.00% 

4604. 85 1.85% 

3B0379.63 103.88% 



EXPENSES 



COST OF INCOME 
41100.0 COST OF SALE OF GOODS 
41800.0 COST OF CONSULTING FEES 
41300.0 ROYALTY PAYMENTS 
41900.0 VARIANCE EXPENSE 

TOTAL 



DEVELOPMENT PROJECT EXPENSES 
42010.0 DIRECT LABOR 
48080.0 OVERHEAD 

OTHER DIRECT CHARGES 
48048.0 DIRECT MATERIALS 

48044.0 OUTSIDE SERVICES 

48046.0 FREIGHT - IN 

48048.0 TRAVEL 

TOTAL 

TOTAL DEVELOPMENT PRO J . EXPENSE 



65000.00 35.39% 

0.00 0.00% 

91S0.00 4.99% 

0.00 0.00% 

74180.00 40.38% 



84137 


00 


13 


14% 


60SS 


35 


3 


88% 





00 





00% 


1000 


00 





54% 





00 





00% 


ISO 


34 





06% 


1180 


34 





61% 


31888 


69 


17 


03% 



187400 


00 


34 


79% 





00 





.00% 


18360 


00 


5 


01% 





00 





00% 


145760 


00 


39 


80% 


48801 


59 


13 


16% 


18038 


64 


3 


88% 





00 





00% 


8000 


00 





54% 


14 


30 





00% 


840 


68 





06% 


8254 


98 





61% 


68489 


81 


17 


06% 



53 



Report 4-1 . Trial Income Statement (Page 2 of 4) 



IMPRESSIVE PRDDUCTS 
TRIAL INCOME STATEMENT 



DATE OB/31 /7B 
PAGE a 



THIS MONTH PCT 



43110.0 
43180.0 
43130.0 
43140.0 
431S0.0 
43160.0 
43170.0 
43190.0 



43E10.0 
43ES0.0 
43230.0 
43890.0 



43310.0 
43380.0 
43330.0 
43340.0 
433B0.0 
43360.0 
43370.0 
43390.0 



43410.0 
434S0.O 
43430.0 
43440.0 
43490.0 



43581.0 
43589.0 



DEPARTMENT EXPENSES 

SALARIES, WAGES, & BENEFITS 

DIRECT LABOR 

INDIRECT LABOR 

OVERTIME PREMIUM 

HOLIDAY-VACATION-SICK LEAVE 

JURV DUTY & OTHER LEAVE 

PAYROLL TAXES 

BONUS 

OTHER FRINGE BENEFITS 
TOTAL 

MATERIALS & SUPPLIES 

COMPUTER MATERIALS AND SUPPLIES 
RAW MATERIALS & SUPPLIES 
STATIONARY -MATR'LS AND SUPPLIES 
OTHER MATERIALS AND SUPPLIES 

TOTAL 

FACILITIES & EQUIPMENT 

RENT - OFFICE SPACE 

EQUIPMENT LEASES 

DEPRECIATION 

EQUIPMENT MAINTENANCE 

JANITORIAL SERVICE 

UTILITIES 

AUTO EXPENSE 

EQUIPMENT RENTAL 
TOTAL 

OUTSIDE SERVICES 

PROFESSIONAL SERVICES - LEGAL 

PROF. SERVICES - CONSULTING 

EMPLOYMENT SERVICE 

CREDIT & COLLECTION SERVICE 

OTHER OUTSIDE SERVICES 
TOTAL 

ADVERTISING 

PERIODICALS 
TRADE SHOWS 

SHOWS - TRAVEL 

SHOWS - OTHER 
TOTAL 



650B3 


55 


35 


40X 





00 





00% 


346 


89 





18% 


4SS 


84 





84% 





00 





00% 


4E95 


84 


a 


33% 





00 





00% 


E594 


74 


i 


41% 


787 IS 


66 


39 


59% 


6S0 


87 





33% 


1135 


99 





61% 


689 


45 





37% 


570 


97 





31% 


3017 


S8 


1 


64% 


S300 


00 


1 


85% 


4365 


79 


a 


37% 


567 


86 





30% 


57 


99 





03% 


500 


00 





87% 


534 


86 





89% 


47B 


IB 





86% 


414 


85 





88% 


9S1B 


33 


5 


01% 


S151 


.95 


1 


.17% 


400 


.00 





.am 


8440 


.88 


1 


.38% 


31 


.80 





.01% 


97 


.48 





.05% 


51S1 


.45 


a 


.78% 


4910 


.38 


a 


.67% 


445 


.09 





.84% 


758 


.71 





.41% 


1803 


.30 





.65% 



1E9BSS 


03 


35 


46% 





00 





00% 


698 


74 





IB* 


985 


64 





85% 





00 





00% 


8577 


59 


8 


34% 





00 





00% 


5137 


59 


1 


40% 


1451BS 


59 


39 


65% 



1816.91 0.33% 

8871.98 0.63% 

1365.11 0.37% 

1113.39 0.30% 

5967.39 1.68% 



4600.00 

8731 .58 

107B.97 

1 1 1 . 94 

1000.00 

1065.85 

930. OB 

787.08 

18305.50 



4088.71 

aao.oo 

8440.88 

68.37 

198.04 

7609.34 



445.09 

758.71 

1803.80 



1 .85% 
8.38% 
0.89% 
0.03% 
0.87% 
0.89% 
0.85% 
0.81% 
4.99% 



1.11% 
0.88% 
0.66% 
0.01% 
0.05% 
S. 07% 



o.ia% 

0.80% 
0.38% 



54 



Report 4-1. Trial Income Statement (Page 3 of 4) 





IMPRESSIVE PRODUCTS 






DATE 


05/31/78 




TRIAL INCOME 


STATEMENT 






PAGE 


3 


ACCOUNT 


NAME 


THIS MONTH 


PCT 




QUARTER 


PCT 


43S30.0 


DIRECT MAILINGS - SAMPLES * 


eso.66 


0.13* 


$ 


516.36 


0.14* 


43540.0 


BROCHURE PRINTING AND MAILING 


164. BB 


0.08* 




331.41 


0.09* 


43S60.0 


OUTSIDE PREP. WORK ON ADS 


43. BO 


0.08* 




86.78 


0.08* 


43S90.0 


OTHER ADVERTISING 


0.00 


0.00* 




0.00 


0.00* 




TOTAL ADVERTISING * 


6S73.46 


3.57* 


$ 


11958.93 


3.86* 




ORDER 6. SHIPPING EXPENSES 












43610.0 


SHIPPING EXPENSE - OUTGOING 


66B.S9 


0.36* 




1334.51 


0.36* 


43SS0.0 


ORDER /SHIPPING FORMS PRINTING 


E6.80 


0.01* 




53.60 


0.01* 


43630.0 


POSTAGE 


380.00 


0.17* 




639.36 


0.17* 




TOTAL * 


1015.39 


0.55* 


$ 


8087.47 


0.55* 




OTHER EXPENSES 












43710.0 


TAXES-LICENSES-FEES 


858. 47 


0.14* 




858.47 


0.07* 


437S0 . 


INSURANCE 


573. SB 


0.31* 




1118.36 


0.3O* 


43730 . 


TRAVEL 8. EMPLOYEE BUSINESS EXP. 


189. E7 


0.10* 




374.75 


0.10* 


43740.0 


COMMUNICATIONS 


1633.53 


0.88* 




3860.53 


0.89* 


437SO.0 


DOUBTFUL ACCOUNTS 


468.00 


0.85* 




9B8.B0 


0.86* 


43760.0 


DUES AND SUBSCRIPTIONS 


90.00 


0.04X 




180.00 


0.04* 


43770 . 


OTHER FREIGHT - IN 


819.23 


0.11* 




434.08 


0.11* 


43780.0 


ALLOW L CUSTOMER UNDERPAYMENT 


0.00 


O.OOX 




0.00 


0.00* 


43790.0 


MISCELLANEOUS 


S6.84 


0.03* 




109.67 


0.08* 




TOTAL * 


3488.86 


1.89* 


* 


6718.66 


1 .B3* 


43810.0 


TRANSFER IN FROM OTHER DEPTS . 
CREDITS 


0.00 


0.00* 




0.00 


0.00* 


43910.0 


DIRECT LABOR TRANSFERRED OUT 


-84137.00 


13.14* 




-48801 .59 


13.16* 


439S0.0 


OVERHEAD APPLIED 


-60SS.36 


3.88* 




-11688.94 


3.17* 


43990.0 


EST. O'HEAD (OVERIUNDER ABSORBD 


0.00 


0.00* 




0.00 


0.00* 




TOTAL * 


-30168.36 


16.48* 


$ 


-59830.53 


16.33* 




TOTAL DEPARTMENT EXPENSES * 


70990.47 


38.65* 


* 


137948.35 


37.67* 




NON-OPERATING (INCOME ) EXPENSE 












44100.0 


(GAIN)LOSS ON PROP. /EQUIP. SALE 


0.00 


0.00* 




0.00 


0.00* 


44300.0 


INTEREST (INCOME) EXPENSE 


945.85 


0.51* 




1985.03 


0.54* 




TOTAL * 


945. 8S 


0.51* 


« 


1985.03 


0.54% 




ESTIMATED INCOME TAXES 












4S100.0 


FEDERAL 


16684.50 


9.05* 




33815.75 


9 . 07* 


4SS00.0 


STATE 


3384.90 


1.81* 




6643.15 


1 .81* 




TOTAL * 


19949.40 


10.86* 


* 


39858.90 


10.88* 




TOTAL EXPENSE * 


197347.81 


107.45* 


$ 


388035.49 


105.97* 



Report 4-1. Trial Income Statement (Page 4 of 4) 





IMPRESSIVE 


PRODUCTS 




DATE 05/31/78 




TRIAL 


INCOME 


STATEMENT 




PAGE 4 


ACCOUNT NAME 






THIS MONTH 


PCT 


QUARTER PCT 


SALES ACCOUNTS TOTAL 






367384.06 




738330.76 


DEBIT TOTAL 






848113.68 




480961 .00 


CREDIT TOTAL 






835413.39 




46B394.Be 


RETAINED EARNINGS 






-6700.83 




-13566.18 



55 



Report 4-2. Trial Balance Sheet (Page 1 of 4) 







IMPRESSIVE 


PRODUCTS 








DATE 05/31/7 






TRIAL BALANCE SHEET 








PAGE 1 


ACCOUNT 


NAME 

ASSETS 

CURRENT ASSETS 
CASH 




THIS MONTH 










11110.0 


REVENUE BANK 




$ 


S0B35.ES 








11150.0 


PETTY CASH 






40.00 










REVENUE BANK 






* 


20275 


25 






ACCOUNTS RECEIVABLE 
















TRADE ACCOUNTS RECEIVABLE 














11412.0 


FINISHED GOODS SALES RECEIVABLE 


100941 .03 










11414.0 


CONSULTING FEES RECEIVABLE 




1500.00 










11419.0 


ALLOW FOR DOUBTFUL ACCOUNTS 
TOTAL 




-30EB.S3 
* 


99412. BO 








114E0.0 


EMPLOYEE RECEIVABLES 






1030.00 








11490.0 


OTHER ACCOUNTS RECEIVABLE 






0.00 










TOTAL 






$ 


100442 


80 






INVENTORY - FINISHED GOODS 














11610.0 


FINISHED GOODS (AT MFG. COST 1 






366195.00 








116S0.0 


RAW MATERIALS 






9S9.13 








11630.0 


OTHER INVENTORY 






0.00 










TOTAL 






% 


267124 


13 






PREPAID EXPENSE 














11B10.0 


PREPAID INSURANCE 






877.24 








11B20.0 


PREPAID TAXES 






0.00 








11890.0 


OTHER PREPAID EXPENSES 






63.50 










TOTAL 






S 


940 


74 






CONSULTING 
















CONTRACTS-IN-PROCESS 














11910.0 


DIRECT LABOR 






5400.00 








11920.0 


OVERHEAD 

OTHER DIRECT CHARGES 






2700.00 








11948.0 


DIRECT MATERIALS 




513. 7S 










11944.0 


OUTSIDE SERVICE 




B6.19 










11946.0 


FREIGHT - IN 




£2.07 










1194B.0 


TRAVEL 
TOTAL 




143.33 
* 


765.34 








11990.0 


CREDITS 






-1000.00 










TOTAL 






S 


7865 


34 






TOTAL CURRENT ASSETS 






* 


396648 


.26 





56 



Report 4-2. Trial Balance Sheet (Page 2 of 4) 



IMPRESSIVE PRODUCTS 
TRIAL BALANCE SHEET 



THIS MONTH 



15110.0 
15180.0 
15130.0 



15910.0 
15930.0 
15930.0 



DEFERRED PRODUCTION COSTS 



13010 





DIRECT LABOR 


130E0 





OVERHEAD 

OTHER DIRECT CHARGES 


1304E 





DIRECT MATERIALS 


13044 





OUTSIDE SERVICES 


13046 





FREIGHT - IN 
TOTAL 


13990 





CREDITS 



PROPERTY & EQUIPMENT 

COST 

MACHINERY & EQUIPMENT 
FURNITURE 1 FIXTURES 
LEASEHOLD IMPROVEMENTS 

TOTAL 

CONSTRUCTION-IN-PROCESS 

ACCUMULATED DEPRECIATION 
MACHINERY 1 EQUIPMENT 
FURNITURE AND FIXTURES 
LEASEHOLD IMPROVEMENTS 

TOTAL 

TOTAL PROPERTY & EQUIPMENT 



TOTAL ASSETS 



6770.00 

25000.00 

0.00 



300000.00 
36000.00 



31770.00 
0.00 



350000.00 

30000.00 

SOOO.OO 



-100000.00 

-13333.00 
-571.00 



DATE 05/31/78 
PAGE S 



367770.00 



38E000.00 



* -113904.00 

* 368096.00 

» 1033514.36 



Report 4-2. Trial Balance Sheet (Page 3 of 4) 







IMPRESSIVE PRODUCTS 
TRIAL BALANCE SHEET 






DATE 05/31/78 
PAGE 3 


ACCOUNT 


NAME 






THIS MONTH 










L.IABIL.ITIES 6. 
STOCKHOLDERS ' EQUITY 












CURRENT LIABILITIES 














EllOO.O 

aiaoo.o 

E1300.0 
81400.0 


NOTES PAYABLE 

CURRENT MATUR. ON L-T DEBT 

VOUCHERS PAYABLE 

SALES TAX PAYABLE 








S 


180000.00 

0.00 

95467.85 

3831.00 




S1510.0 

aisao.o 


INCOME TAX PAYABLE 

FEDERAL 

STATE 
TOTAL 








0.00 
0.00 

* 


0.00 




81610.0 
ai6E0.0 
El 630.0 
El 640.0 
El 650.0 
31 660.0 


PAYROLL TAXES PAYABLE 

FEDERAL INCOME TAX WITHHOLDING 

FICA 

FEDERAL UNEMPLOYMENT TAX 

STATE INCOME TAX WITHHOLDING 

SDI 

STATE UNEMPLOYMENT TAX 
TOTAL 








16350.00 

3915.84 
783.13 

2659.94 
653.35 

1495.57 
* 


8S7S6.E3 




81710.0 
E17ao.O 
21730.0 
81790.0 


ACCRUED LIABILITIES 

PAYROLL 

VACATION 

PROPERTY TAXES 

OTHER ACCRUED LIABILITIES 
TOTAL 








0.00 

1S480.00 

1400.00 

0.00 

* 


13880.00 




E1810.0 

aiaso.o 

81830.0 


UNEARNED INCOME 
CUSTOMER OVERPAYMENTS 
UNIDENTIFIED CUSTOMER RECEIPTS 

TOTAL CURRENT LIABILITIES 








* 


500.00 
1500.00 
E300.00 

333635 . 08 




88100.0 

aaaoo.o 


LONG TERM LIABILITIES 

NOTES PAYABLE 

DEFERRED INCOME TAXES PAYABLE 
TOTAL 








• 


800000.00 

0.00 

800000.00 





57 



Report 4-2. Trial Balance Sheet (Page 4 of 4) 



IMPRESSIVE PRODUCTS 
TRIAL BALANCE SHEET 



DATE OS/31/78 
PAGE 4 



THIS MONTH 



STOCKHOLDERS' EQUITY 
S3100.0 CAPITAL STOCK 
23200.0 ADDITIONAL PAID-IN CAPITAL 
23900.0 RETAINED EARNINGS 

TOTAL 



TOTAL LIAB. & STOCKHOLDERS' EQ. 



300000.00 

0.00 

209889. IB 

509889.18 



1032514.26 



DEBIT TOTAL 
CREDIT TOTAL 



11S0446.49 
11S0446.49 



Report 4-3. Special Report (Page 1 of 3) 





IMPRESSIVE 


PRODUCTS 


DATE 05/31/78 




SPECIAL 


REPORT 


PAGE 1 


ACCOUNT 


NAME 


THIS MONTH 




11110.0 


REVENUE BANK 


20235.25 




11150.0 


PETTY CASH 


40.00 




11412.0 


FINISHED GOODS SALES RECEIVABLE 


100941.03 




11414.0 


CONSULTING FEES RECEIVABLE 


1500.00 




11419.0 


ALLOW FOR DOUBTFUL ACCOUNTS 


302B.23 




11420.0 


EMPLOYEE RECEIVABLES 


1030.00 




11490.0 


OTHER ACCOUNTS RECEIVABLE 


0.00 




11610.0 


FINISHED GODDS (AT MFG. COST) 


266195.00 




11620.0 


RAW MATERIALS 


929.13 




11G30.0 


OTHER INVENTORY 


0.00 




11810.0 


PREPAID INSURANCE 


877.24 




U8E0.0 


PREPAID TAXES 


0.00 




11890.0 


OTHER PREPAID EXPENSES 


63.50 




11910.0 


DIRECT LABOR 


5400.00 




11920.0 


OVERHEAD 


2700.00 




11942.0 


DIRECT MATERIALS 


513.75 




11944.0 


OUTSIDE SERVICE 


86.19 




11946.0 


FREIGHT - IN 


22.07 




11948.0 


TRAVEL 


143.33 




11990.0 


CREDITS 


1000.00 




13010.0 


DIRECT LABOR 


300000.00 




13020.0 


OVERHEAD 


36000.00 




13042.0 


DIRECT MATERIALS 


6770.00 




13044.0 


OUTSIDE SERVICES 


25000.00 




13046.0 


FREIGHT - IN 


0.00 




13990.0 


CREDITS 


0.00 




15110.0 


MACHINERY & EQUIPMENT 


350000.00 




15120.0 


FURNITURE & FIXTURES 


30000.00 




1S130.0 


LEASEHOLD IMPROVEMENTS 


2000.00 




15800.0 


CONSTRUCTION-IN-PROCESS 


0.00 




1S910.0 


MACHINERY & EQUIPMENT 


100000.00 




15920.0 


FURNITURE AND FIXTURES 


13333.00 




15930.0 


LEASEHOLD IMPROVEMENTS 


571.00 




21100.0 


NOTES PAYABLE 


180000.00 




21200.0 


CURRENT MATUR. ON L-T DEBT 


0.00 




21300.0 


VOUCHERS PAYABLE 


95467.85 




21400.0 


SALES TAX PAYABLE 


3221.00 




21510.0 


FEDERAL 


0.00 




21520.0 


STATE 


0.00 




21610.0 


FEDERAL INCOME TAX WITHHOLDING 


16250.00 




21620.0 


FICA 


3915.24 




21630.0 


FEDERAL UNEMPLOYMENT TAX 


783.13 




21640.0 


STATE INCOME TAX WITHHOLDING 


2659.94 




21650.0 


SDI 


652.35 




21660.0 


STATE UNEMPLOYMENT TAX 


1495.57 




S1710.0 


PAYROLL 


0.00 




21720.0 


VACATION 


12480.00 





58 



Report 4-3. Special Report (Page 2 of 3) 





IMPRESSIVE 


PRODUCTS 


DATE 05/31/78 




SPECIAL 


REPORT 


PAGE 2 


ACCOUNT 


NAME 


THIS MONTH 




21730.0 


PROPERTY TAXES 


1400.00 




S1790.0 


OTHER ACCRUED LIABILITIES 


0.00 




21B10.0 


UNEARNED INCOME 


500.00 




siaao.o 


CUSTOMER OVERPAYMENTS 


1500.00 




S1830.0 


UNIDENTIFIED CUSTOMER RECEIPTS 


2300.00 




saioo.o 


NOTES PAYABLE 


200000.00 




assoo.o 


DEFERRED INCOME TAXES PAYABLE 


0.00 




23100.0 


CAPITAL STOCK 


300000.00 




23200.0 


ADDITIONAL PAID-IN CAPITAL 


0.00 




S3900.0 


RETAINED EARNINGS 


209889.18 




31110.0 


FINISHED GOODS 


198265.48 




31190.0 


SALES RETURNS & ALLOWANCES 


14603.45 




31210.0 


CONSULTING FEES 


4500.00 




31310.0 


PATENT ROYALTIES 


0.00 




313S0.0 


CONSULTING ROYALTIES 


350.00 




31S10.0 


COLLECTION OF BAD DEBTS 


2135.55 




31S90.0 


MISCELLANEOUS INCOME 


0.00 




41100.0 


COST OF SALE OF GOODS 


65000.00 




41200.0 


COST OF CONSULTING FEES 


0.00 




41300.0 


ROYALTY PAYMENTS 


9180.00 




41900.0 


VARIANCE EXPENSE 


0.00 




42010.0 


DIRECT LABOR 


24137.00 




42020.0 


OVERHEAD 


6025.35 




42042 . 


DIRECT MATERIALS 


0.00 




43044.0 


OUTSIDE SERVICES 


1000.00 




45046.0 


FREIGHT - IN 


0.00 




42048.0 


TRAVEL 


120 .34 




43110.0 


DIRECT LABOR 


65023.55 




43120.0 


INDIRECT LABOR 


0.00 




43130.0 


OVERTIME PREMIUM 


346.89 




43140.0 


HOLIDAY-VACATION-SICK LEAVE 


458.24 




43150.0 


JURY DUTY & OTHER LEAVE 


0.00 




43160.0 


PAYROLL TAXES 


4295.24 




43170.0 


BONUS 


0.00 




43190.0 


OTHER FRINGE BENEFITS 


2594.74 




43210.0 


COMPUTER MATERIALS AND SUPPLIES 


620.87 




43220.0 


RAW MATERIALS & SUPPLIES 


1135.99 




43230.0 


STATIONARY-MATR'LS AND SUPPLIES 


689.45 




43290.0 


OTHER MATERIALS AND SUPPLIES 


S70.97 




43310.0 


RENT - OFFICE SPACE 


2300.00 




43320.0 


EQUIPMENT LEASES 


4365.79 




43330.0 


DEPRECIATION 


567.86 




43340.0 


EQUIPMENT MAINTENANCE 


57.99 




433S0.0 


JANITORIAL SERVICE 


500.00 




43360.0 


UTILITIES 


534.26 




43370.0 


AUTO EXPENSE 


478.18 




43390.0 


EQUIPMENT RENTAL 


414.25 





59 



Report 4-3. Special Report (Page 3 of 3) 





IMPRESSIVE 


PRODUCTS 


DATE 05/31/78 




SPECIAL 


REPORT 


PAGE 3 


ACCOUNT 


NAME 


THIS MONTH 




43410.0 


PROFESSIONAL SERVICES - LEGAL 


2151 .95 




43420.0 


PRDF. SERVICES - CONSULTING 


400.00 




43430.0 


EMPLOYMENT SERVICE 


2440 .22 




43440.0 


CREDIT & COLLECTION SERVICE 


31.80 




43490.0 


OTHER OUTSIDE SERVICES 


97.48 




43S10.0 


PERIODICALS 


4910.3S 




43SS1.0 


SHOWS - TRAVEL 


445.09 




43529.0 


SHOWS - OTHER 


758.71 




43530.0 


DIRECT MAILINGS - SAMPLES 


SS0.66 




43540.0 


BROCHURE PRINTING AND MAILING 


164. B8 




43560.0 


OUTSIDE PREP. WORK ON ADS 


43.80 




43590.0 


OTHER ADVERTISING 


0.00 




43610.0 


SHIPPING EXPENSE - OUTGOING 


668.59 




436E0.0 


ORDER/SHIPPING FORMS PRINTING 


56. BO 




43630.0 


POSTAGE 


320.00 




43710.0 


TAXES -LI CENSES -FEES 


S5B.47 




43720.0 


INSURANCE 


573. 5S 




43730.0 


TRAVEL & EMPLOYEE BUSINESS EXP. 


1B9.E7 




43740.0 


COMMUNICATIONS 


1633.53 




43750.0 


DOUBTFUL ACCOUNTS 


468.00 




43760.0 


DUES AND SUBSCRIPTIONS 


90.00 




43770.0 


OTHER FREIGHT - IN 


219.23 




43780.0 


ALLOW 'L CUSTOMER UNDERPAYMENT 


0.00 




43790.0 


MISCELLANEOUS 


56.24 




43B10.0 


TRANSFER IN FROM OTHER DEPTS. 


0.00 




43910.0 


DIRECT LABOR TRANSFERRED OUT 


24137.00 




439S0.0 


OVERHEAD APPLIED 


G02S.36 




43990.0 


EST. O'HEAD (OVER) UNDER ABBDRBD 


0.00 




44100.0 


(GAIN)LOSS ON PROP. /EQUIP. SALE 


0.00 




44B0O.0 


INTEREST (INCOME )EXPENSE 


945.25 




45100.0 


FEDERAL 


16624.50 




45200.0 


STATE 


3324.90 





60 



Report 4-4. Monthly Income Statement (Page 1 of 4) 







IMPRESSIVE PRODUCTS 






DATE 


05/31/78 






MONTHLY INCOME 


STATEMENT 






PAGE 


1 


ACCOUNT 


NAME 

INCOME 
SALE OF GOODS 




THIS MONTH 


PCT 




YTD BAL 


PCT 


31110.0 


FINISHED GOODS 


* 


19B265.48 


107.95% 


* 


979368.32 


107.40% 


31190.0 


SALES RETURNS & ALLOWANCES 




-14603.45 


7.95% 




-67502.26 


7.40% 




TOTAL 


% 


183662.03 


100.00% 


* 


911866.06 


100.00% 


31210.0 


CONSULTING FEES 
ROYALTIES INCOME 




4500.00 


2.45% 




22007.70 


2.41% 


31310.0 


PATENT ROYALTIES 




0.00 


0.00% 




0.00 


0.00% 


313S0.0 


CONSULTING ROYALTIES 




350.00 


0.19% 




1750.00 


0.19% 




TOTAL 


% 


350.00 


0.19% 


* 


1750.00 


0.19% 




OTHER INCOME 














31510.0 


COLLECTION OF BAD DEBTS 




2135.55 


1 .16% 




12588.02 


1.38% 


31590.0 


MISCELLANEOUS INCOME 




0.00 


0.00% 




0.00 


0.00% 




TOTAL 


* 


2135.55 


1 .16% 


* 


12588.02 


1.38% 




TOTAL INCOME 


% 


190647. SB 


103.80% 


$ 


94B211.78 


103.98% 




EXPENSES 
















COST OF INCOME 














41100.0 


COST OF SALE OF GOODS 




65000.00 


35.39% 




310856.00 


34.09% 


41S00.0 


COST OF CONSULTING FEES 




0.00 


0.00% 




0.00 


0.00% 


41300.0 


ROYALTY PAYMENTS 




91B0.00 


4.99% 




4S900.00 


5.03% 


41900.0 


VARIANCE EXPENSE 




0.00 


0.00% 




0.00 


0.00% 




TOTAL 


% 


74180.00 


40.38% 


* 


356756.00 


39.12% 




DEVELOPMENT PROJECT EXPENSES 














42010.0 


DIRECT LABOR 




24137.00 


13.14% 




120287.07 


13.19% 


42020.0 


OVERHEAD 

OTHER DIRECT CHARGES 




6025.35 


3.28% 




30027.45 


3.29% 


4204E.0 


DIRECT MATERIALS 




0.00 


0.00% 




0.00 


0.00% 


42044.0 


OUTSIDE SERVICES 




1000.00 


0.54% 




5000.00 


0.54% 


48046.0 


FREIGHT - IN 




0.00 


0.00% 




14.30 


0.00% 


42048.0 


TRAVEL 




120.34 


0.06% 




601.70 


0.06% 




TOTAL 


* 


1120.34 


0.61% 


I 


5616.00 


0.61% 




TOTAL DEVELOPMENT PROJ . EXPENSE 


* 


312B2.69 


17.03% 


* 


155930.52 


17.10% 



61 



Report 4-4. Monthly Income Statement (Page 2 of 4) 





IMPRESSIVE PRODUCTS 






DATE 


05/31/78 




MONTHLV 


INCOME 


STATEMENT 






PAGE 


S 


ACCOUNT 


NAME 

DEPARTMENT EXPENSES 
SALARIES, WAGES, & BENEFITS 




THIS MONTH 


PCT 




YTD BAL 


PCT 


43110.0 


DIRECT LABOR 


* 


650E3.SS 


35.40% 


* 


3S404S.74 


35.53% 


43130.0 


INDIRECT LABOR 




0.00 


0.00% 




0.00 


0.00% 


43130.0 


OVERTIME PREMIUM 




346.89 


0.1BX 




17E8.73 


0.1BX 


43140.0 


HOLIDAY-VACATION-SICK LEAVE 




4SB.E4 


0.34X 




E341 .87 


O.ES% 


431B0.0 


JURY DUTY & OTHER LEAVE 




0.00 


O.OOX 




75E.36 


O.OBX 


431G0.0 


PAYROLL TAXES 




4E95.S4 


S.33X 




81405.38 


E.34X 


43170.0 


BONUS 




0.00 


O.OOX 




0.00 


0.00% 


43190.0 


OTHER FRINGE BENEFITS 




SS94.74 


1.41X 




1S689.B5 


1 .39% 




TOTAL 


* 


7E718.66 


39.59% 


% 


36E963.93 


39. BOX 




MATERIALS & SUPPLIES 














43310. 


COMPUTER MATERIALS AND SUPPLIES 




6E0.B7 


0.33X 




E969.S6 


0.3EX 


43ESO.0 


RAW MATERIALS & SUPPLIES 




1135.99 


0.61X 




5679.95 


0.6EX 


43S30.0 


STATIONARY -MATR'LS AND SUPPLIES 




6B9.4S 


0.37X 




3371 .BE 


0.36% 


43S90.0 


OTHER MATERIALS AND SUPPLIES 




570.97 


0.31X 




£699.97 


.E9% 




TOTAL 


% 


3017. SB 


1.64X 


* 


147E1 .00 


1 .61% 




FACILITIES & EQUIPMENT 














43310.0 


RENT - OFFICE SPACE 




E300.00 


1.S5X 




11500.00 


1 .S6% 


433E0 . 


EQUIPMENT LEASES 




4365.79 


S.37X 




E18EB.95 


3.39% 


43330.0 


DEPRECIATION 




567. B6 


0.30X 




ES35.5B 


.37% 


43340.0 


EQUIPMENT MAINTENANCE 




57.99 


0.03X 




368.10 


O.OEX 


433S0.0 


JANITORIAL SERVICE 




SOO.OO 


0.37X 




S500.00 


0.37% 


433S0.0 


UTILITIES 




534. E6 


0.E9X 




3656.63 


0.E9X 


43370.0 


AUTO EXPENSE 




47B.18 


0.E6X 




SS4B.47 


0.34% 


43390 . 


EQUIPMENT RENTAL 




414. E5 


O.EEX 




1B49.S4 


O.EOX 




TOTAL 


* 


9E1B.33 


5.01X 


% 


45387.37 


4.97% 




OUTSIDE SERVICES 














43410.0 


PROFESSIONAL SERVICES - LEGAL 




E151.95 


1 .17X 




9608.47 


1 .05% 


434E0 . 


PROF. SERVICES - CONSULTING 




400.00 


0.E1X 




Bill. SO 


0.E3X 


43430.0 


EMPLOYMENT SERVICE 




E440.SE 


1.3EX 




E440 .SB 


O.ES% 


43440.0 


CREDIT & COLLECTION SERVICE 




31. BO 


O.OIX 




IBS. 31 


0.03X 


43490.0 


OTHER OUTSIDE SERVICES 




97.48 


0.05X 




471 .46 


0.05% 




TOTAL 


% 


51E1.45 


E.78% 


* 


14B17.96 


1 .63% 




ADVERTISING 














43510.0 


PERIODICALS 
TRADE SHOWS 




4910. 3E 


S.67X 




S4551 .60 


E.69X 


435S1.0 


SHOWS - TRAVEL 




445.09 


0.E4X 




445.09 


0.04X 


43SE9.0 


SHOWS - OTHER 




75B.71 


0.41X 




758.71 


0.08% 




TOTAL 


S 


1E03.B0 


0.65X 


% 


1E03.B0 


0.13% 



62 



Report 4-4. Monthly Income Statement (Page 3 of 4) 





IMPRESSIVE PRODUCTS 






DATE 


05/31/78 




MONTHLY INCOME 


STATEMENT 






PAGE 


3 


ACCOUNT 


NAME 


THIS MONTH 


PCT 




YTD BAL 


PCT 


43530.0 


DIRECT MAILINGS - SAMPLES * 


850.66 


0.13% 


* 


1337.37 


0.14% 


43540.0 


BROCHURE PRINTING AND MAILING 


164.88 


0.08% 




833.50 


0.09% 


43560.0 


OUTSIDE PREP. WORK ON ADS 


43.80 


o.oax 




214.80 


0.02% 


43590.0 


OTHER ADVERTISING 


0.00 


0.00% 




0.00 


0.00% 




TOTAL ADVERTISING * 


6573.46 


3.57% 


$ 


SB140.47 


3.08% 




ORDER 8. SHIPPING EXPENSES 












43610.0 


SHIPPING EXPENSE - OUTGOING 


668. S9 


0.36% 




3328.87 


0.36% 


436S0.0 


ORDER/SHIPPING FORMS PRINTING 


S6.B0 


0.01% 




134.00 


0.01% 


43630.0 


POSTAGE 


3S0.00 


0.17% 




1596.48 


0.17% 




TOTAL * 


1015.39 


0.55% 


* 


5058.75 


0.55% 




OTHER EXPENSES 












43710.0 


TAXES -LICENSES -FEES 


E58.47 


0.14% 




258.47 


0.02% 


43720.0 


INSURANCE 


573. 5E 


0.31% 




2718.08 


0.29% 


43730.0 


TRAVEL S. EMPLOYEE BUSINESS EXP. 


189.87 


0.10% 




925.63 


0.10% 


43740 .0 


COMMUNICATIONS 


1633.53 


0.88% 




8131.76 


0.89% 


43750 .0 


DOUBTFUL ACCOUNTS 


468.00 


0.25% 




2504.42 


0.28% 


43760.0 


DUES AND SUBSCRIPTIONS 


90.00 


0.04% 




450.00 


0.04% 


43770.0 


OTHER FREIGHT - IN 


219.23 


0.11% 




1078.18 


0.11% 


43780.0 


ALLOW 'L CUSTOMER UNDERPAYMENT 


0.00 


0.00% 




0.00 


0.00% 


43790.0 


MISCELLANEOUS 


56. E4 


0.03% 




265.95 


0.02% 




TOTAL * 


34B8.E6 


1 .89% 


s 


16480.43 


1 .80% 


43810.0 


TRANSFER IN FROM OTHER DEPTS . 
CREDITS 


0.00 


0.00% 




0.00 


0.00% 


43910.0 


DIRECT LABOR TRANSFERRED OUT 


-84137.00 


13.14% 




-180887.07 


13.19% 


439S0.0 


OVERHEAD APPLIED 


-60ES.36 


3.88% 




-S7851.31 


3.05% 


43990.0 


EST. O'HEAD (OVER (UNDER ABSORBD 


0.00 


0.00% 




0.00 


0.00% 




TOTAL * 


-30162.36 


16.42% 


* 


-148138.38 


16.24% 




TOTAL DEPARTMENT EXPENSES * 


70990.47 


38.65% 


* 


339371.53 


37.21% 




NON-OPERATING (INCOME ) EXPENSE 












44100.0 


(GAIN)LOSS ON PROP. /EQUIP. SALE 


0.00 


0.00% 




0.00 


0.00% 


44200 .0 


INTEREST (INCOME) EXPENSE 


945. as 


0.51% 




5860 .33 


0.57% 




TOTAL * 


945.25 


0.51% 


» 


5260 .33 


0.57% 




ESTIMATED INCOME TAXES 












45100 .0 


FEDERAL 


16624.50 


9.05% 




82939.73 


9.09% 


45E0O.O 


STATE 


3324.90 


1 .81% 




16587.95 


1 .81% 




TOTAL * 


19949.40 


10.86% 


* 


99527.68 


10.91% 




TOTAL EXPENSE * 


197347.81 


107.45% 


* 


956846.06 


104.93% 



Report 4-4. Monthly Income Statement (Page 4 of 4) 





IMPRESSIVE PRODUCTS 




DATE 05/31/78 




MONTHLY INCOME STATEMENT 




PAGE 4 


ACCOUNT NAME 


THIS MONTH 


PCT 


YTD BAL PCT 


DEBIT TOTAL 


242113.62 




1177397.02 


CREDIT TOTAL 


235413.39 




1163858.42 


RETAINED EARNINGS 


-6700.83 




-13544.60 



63 



Heport 4-b. Monthly Balance Sheet (Page 1 of 4j 







IMPRESSIVE PRODUCTS 








DATE 05/31/78 






MONTHLY 


BALANCE SHEET 








PAGE 1 


ACCOUNT 


NAME 

/ASSETS 

CURRENT ASSETS 
CASH 




THIS MONTH 










11110.0 


REVENUE BANK 




S 


aoa35.as 








11150.0 


PETTY CASH 






40.00 










REVENUE BANK 






* 


30S75 


as 






ACCOUNTS RECEIVABLE 
















TRADE ACCOUNTS RECEIVABLE 














11418.0 


FINISHED GOODS BALES RECEIVABLE 


100941 .03 










11414.0 


CONSULTING FEES RECEIVABLE 




1500.00 










11419.0 


ALLOW FOR DOUBTFUL ACCOUNTS 
TOTAL 




-3028. S3 


99413.80 








114S0.0 


EMPLOYEE RECEIVABLES 






1030.00 








11490.0 


OTHER ACCOUNTS RECEIVABLE 






0.00 










TOTAL 






* 


100443 


80 






INVENTORY - FINISHED GOODS 














11610.0 


FINISHED GOODS (AT MFG. COST) 






S66195.00 








116S0.0 


RAW MATERIALS 






939.13 








11630.0 


OTHER INVENTORY 






0.00 










TOTAL 






* 


367134 


13 






PREPAID EXPENSE 














11810.0 


PREPAID INSURANCE 






877.34 








11BS0.0 


PREPAID TAXES 






0.00 








11390.0 


OTHER PREPAID EXPENSES 






63.50 










TOTAL 






* 


940 


74 






CONSULTING 
















CONTRACTS -I N -PROCESS 














11910.0 


DIRECT LABOR 






5400.00 








11930.0 


OVERHEAD 

OTHER DIRECT CHARGES 






3700.00 








1194B.0 


DIRECT MATERIALS 




S13.7S 










11944.0 


OUTSIDE SERVICE 




86.19 










11946.0 


FREIGHT - IN 




33.07 










11948.0 


TRAVEL 
TOTAL 




143.33 
$ 


765.34 








11990.0 


CREDITS 






-1000. 00 










TOTAL 






* 


7865 


.34 






TOTAL CURRENT ASSETS 






$ 


396648 


36 





Report 4-5. Monthly Balance Sheet (Page 2 of 4) 







IMPRESSIVE PRODUCTS 
MONTHLY BALANCE SHEET 








DATE 05/31/78 
PAGE 3 


ACCOUNT 


NAME 






THIS MONTH 








13010.0 
13030.0 

13043.0 
13044.0 
13046.0 

13990.0 


DEFERRED PRODUCTION COSTS 

DIRECT LABOR 

OVERHEAD 

OTHER DIRECT CHARGES 
DIRECT MATERIALS 
OUTSIDE SERVICES 
FREIGHT - IN 

TOTAL 

CREDITS 
TOTAL 

PROPERTY 6. EQUIPMENT 








6770 

35000 




00 
00 
00 


300000.00 
36000.00 

31770.00 
0.00 


367770.00 




15110.0 

isiao.o 

15130.0 


COST 

MACHINERY & EQUIPMENT 
FURNITURE & FIXTURES 
LEASEHOLD IMPROVEMENTS 

TOTAL 












350000.00 
30000.00 

aooo.oo 


3Ba000.00 




15800.0 


CONST RUCTION -IN-PROCESS 














0.00 




15910.0 
15930.0 
15930.0 


ACCUMULATED DEPRECIATION 
MACHINERY & EQUIPMENT 
FURNITURE AND FIXTURES 
LEASEHOLD IMPROVEMENTS 

TOTAL 

TOTAL PROPERTY & EQUIPMENT 
TOTAL ASSETS 












-100000.00 
-13333.00 
-571 .00 
S 

* 


-113904.00 
368096.00 

1033514.36 





64 



Report 4-5. Monthly Balance Sheet (Page 3 of 4) 



aaioo.o 

ESEOO.O 



IMPRESSIVE PRODUCTS 
MONTHLY BALANCE SHEET 



THIS MONTH 



LIABILITIES ft. 
STOCKHOLDERS ' EQUITY 



CURRENT LIABILITIES 



E1100 





NOTES PAYABLE 


sieoo 





CURRENT MATUR. ON L-T DEBT 


81300 





VOUCHERS PAYABLE 


81400 





SALES TAX PAYABLE 
INCOME TAX PAYABLE 


81510 





FEDERAL 


Eisao 





STATE 
TOTAL 

PAYROLL TAXES PAYABLE 


E1610 





FEDERAL INCOME TAX WITHHOLDING 


216S0 





FICA 


S 1630 





FEDERAL UNEMPLOYMENT TAX 


31640 





STATE INCOME TAX WITHHOLDING 


316S0 





SDI 


E1660 





STATE UNEMPLOYMENT TAX 
TOTAL 

ACCRUED LIABILITIES 


ai'7io 


.0 


PAYROLL 


81780 


.0 


VACATION 


a 1730 


.0 


PROPERTY TAXES 


31790 


.0 


OTHER ACCRUED LIABILITIES 
TOTAL 


21810 


.0 


UNEARNED INCOME 


aisao 


.0 


CUSTOMER OVERPAYMENTS 


aia30 


.0 


UNIDENTIFIED CUSTOMER RECEIPTS 



DATE OS/31 /7S 
PAGE 3 



TOTAL CURRENT LIABILITIES 



LONG TERM LIABILITIES 

NOTES PAYABLE 

DEFERRED INCOME TAXES PAYABLE 
TOTAL 





* 


180000 


00 









00 






95467 


85 






aaai 


00 





00 









00 








* 





00 


16250 


00 






3915 


84 






783 


13 






26S9 


94 






658 


35 






1495 


57 








% 


E5756 


83 





00 






18480 


00 






1400 


00 









00 








* 


13B80 


00 






500 


00 






1500 


.00 






8300 


00 




* 


388685 


.08 






800000 


.00 









.00 




% 


aooooo 


.00 



Report 4-5. Monthly Balance Sheet (Page 4 of 4) 



STOCKHOLDERS- EQUITY 
83100.0 CAPITAL STOCK 

asaoo.o additional paid-in capital 

33900.0 RETAINED EARNINGS 
TOTAL 



TOTAL LIAB . 1 STOCKHOLDERS ' EG . 



DEBIT TOTAL 
CREDIT TOTAL 



IMPRESSIVE PRODUCTS 






DATE 05/31/78 


MONTHLY BALANCE SHEET 






PAGE 4 


THIS MONTH 










$ 


300000.00 

0.00 

S09889.18 






* 


509889.18 




:Q. 


% 


1038514.86 




1150446.49 








1150446.49 








0.00 









65 



Report 4-6. Quarterly Income Statement (Page 1 of 4) 







IMPRESSIVE PRODUCTS 






DATE 


05/31 /7B 






QUARTERLY INCOME 


STATEMENT 






PAGE 


1 


ACCOUNT 


NAME 

INCOME 
SALE OF GODDS 




QUARTER 


PCT 




YTD BAL 


PCT 


31110.0 


FINISHED GOODS 


« 


394350.04 


107.69% 


$ 


979368.38 


107.40% 


31190.0 


SALES RETURNS & ALLOWANCES 




-S81B4.66 


7.69% 




-67508. E6 


7.40% 




TOTAL 


S 


366165.38 


100.00% 


S 


911866.06 


100.00% 


31310.0 


CONSULTING FEES 
ROYALTIES INCOME 




8910.00 


a. 43% 




88007.70 


a. 41% 


31310.0 


PATENT ROYALTIES 




0.00 


0.00% 




0.00 


0.00% 


313S0.0 


CONSULTING ROYALTIES 




700.00 


0.19% 




1750.00 


0.19% 




TOTAL 


S 


700.00 


0.19% 


S 


1750.00 


0.19% 




OTHER INCOME 














31510.0 


COLLECTION OF BAD DEBTS 




4604. S5 


1.85% 




1ESBB.02 


1.3B% 


31590.0 


MISCELLANEOUS INCOME 




0.00 


0.00% 




0.00 


0.00% 




TOTAL 


S 


4604.85 


1.85% 


$ 


1858B.0E 


1.3B% 




TOTAL INCOME 


$ 


3B0379.63 


103.88% 


* 


948311.78 


103.98% 




EXPENSES 
















COST OF INCOME 














41100. 


COST OF SALE OF GOODS 




187400.00 


34 .79% 




310B56.00 


34.09% 


41800.0 


COST OF CONSULTING FEES 




0.00 


0.00% 




0.00 


0.00% 


41300.0 


ROYALTY PAYMENTS 




1B360.00 


5.01% 




45900.00 


5.03% 


41900.0 


VARIANCE EXPENSE 




0.00 


0.00% 




0.00 


0.00% 




TOTAL 


* 


145760.00 


39.B0% 


S 


356756.00 


39.18% 




DEVELOPMENT PROJECT EXPENSES 














48010.0 


DIRECT LABOR 




48801.59 


13.16% 




180SB7.07 


13.19% 


4S080 . 


OVERHEAD 

OTHER DIRECT CHARGES 




18038.64 


3.88% 




30087.45 


3.89% 


4S04E.0 


DIRECT MATERIALS 




0.00 


0.00% 




0.00 


0.00% 


48044.0 


OUTSIDE SERVICES 




8000.00 


0.54% 




5000.00 


0.54% 


4S046.0 


FREIGHT - IN 




14.30 


0.00% 




14.30 


0.00% 


48048.0 


TRAVEL 




840.68 


0.06% 




601.70 


0.06% 




TOTAL 


« 


8854.98 


0.61% 


% 


5616.00 


0.61% 




TOTAL DEVELOPMENT PROJ . EXPENSE 


s 


68489.81 


17.06% 


% 


155930.58 


17.10% 



66 



Report 4-6, Quarterly Income Statement (Page 2 of 4) 





IMPRESSIVE PRODUCTS 






DATE 


0S/31/7B 




QUARTERLY 


INCOME 


STATEMENT 






PAGE 


3 


ACCOUNT 


NAME 

DEPARTMENT EXPENSES 
SALARIES, WAGES, & BENEFITS 




QUARTER 


PCT 




YTD BAL 


PCT 


43110.0 


DIRECT LABOR 


* 


139858.03 


35.46% 


* 


334045.74 


35.53% 


431S0.0 


INDIRECT LABOR 




0.00 


0.00% 




0.00 


0.00% 


43130.0 


OVERTIME PREMIUM 




692.74 


0.18% 




1758.73 


0.18% 


43140.0 


HOLIDAY-VACATION-SICK LEAVE 




985.64 


0.25% 




8341.87 


0.35% 


43150.0 


JURY DUTY & OTHER LEAVE 




0.00 


0.00% 




755.36 


o.oa% 


43160.0 


PAYROLL TAXES 




BS77.59 


a. 34% 




S140S.38 


3.34% 


43170.0 


BONUS 




0.00 


0.00% 




0.00 


0.00% 


43190.0 


OTHER FRINGE BENEFITS 




5137.59 


1.40% 




15689.85 


1.39% 




TOTAL 


$ 


145185.59 


39.65% 


* 


365963.93 


39.B0% 




MATERIALS & SUPPLIES 














43310.0 


COMPUTER MATERIALS AND SUPPLIES 




1S16.91 


0.33% 




3969.56 


0.35% 


43330.0 


RAW MATERIALS & SUPPLIES 




2871 .98 


o.ea% 




5679.95 


0.63% 


43330.0 


STATIONARY -MATR'LS AND SUPPLIES 




1365.11 


0.37% 




3371.83 


0.36% 


43890.0 


OTHER MATERIALS AND SUPPLIES 




1113.39 


0.30% 




5699.97 


0.39% 




TOTAL 


* 


5967.39 


1 .65% 


* 


14751.00 


1.61% 




FACILITIES i. EQUIPMENT 














43310.0 


RENT - OFFICE SPACE 




4600.00 


l.ES% 




11500.00 


1 .56% 


43330 . 


EQUIPMENT LEASES 




8731.58 


S.3B% 




51858.95 


3.39% 


43330.0 


DEPRECIATION 




1078.97 


0.39% 




3535. 5B 


0.87% 


43340.0 


EQUIPMENT MAINTENANCE 




111.94 


0.03% 




568.10 


o.oa% 


433S0.0 


JANITORIAL SERVICE 




1000.00 


0.37% 




3500.00 


0.87% 


43360.0 


UTILITIES 




1065.85 


0.59% 




3656.63 


0.59% 


43370.0 


AUTO EXPENSE 




930.08 


0.35% 




3548.47 


0.34% 


43390.0 


EQUIPMENT RENTAL 




787. OB 


0.81% 




1849.64 


o.aox 




TOTAL 


* 


18305.50 


4.99% 


* 


45387.37 


4.97% 




OUTSIDE SERVICES 














43410.0 


PROFESSIONAL SERVICES - LEGAL 




4088.71 


1 .11% 




9608.47 


1 .05% 


434S0.0 


PROF. SERVICES - CONSULTING 




BE0.0O 


0.85% 




am. SO 


0.33% 


43430.0 


EMPLOYMENT SERVICE 




E440. as 


0.66% 




5440 .35 


0.56% 


43440 . 


CREDIT & COLLECTION SERVICE 




6B.37 


0.01% 




1B6.31 


0.02% 


43490.0 


OTHER OUTSIDE SERVICES 




193.04 


0.05% 




471 .46 


0.05% 




TOTAL 


C 


7609.34 


S. 07% 


* 


14817.96 


1.65% 




ADVERTISING 














43510.0 


PERIODICALS 
TRADE SHOWS 




9830.64 


3.68% 




84551.60 


5.69% 


43SS1.0 


SHOWS - TRAVEL 




445.09 


0.13% 




445.09 


0.04% 


43SS9.0 


SHOWS - OTHER 




75B.71 


o.ao% 




758.71 


0.08% 




TOTAL 


* 


1S03.80 


0.33% 


S 


1303.80 


0.13% 



67 



Report 4-6. Quarterly Income Statement (Page 3 of 4) 





IMPRESSIVE PRODUCTS 






DATE 


05/31/78 




QUARTERLY INCOME 


STATEMENT 






PAGE 


3 


ACCOUNT 


NAME 


QUARTER 


PCT 




YTD BAL 


PCT 


43S30 . 


DIRECT MAILINGS - SAMPLES » 


516.36 


0.14% 


$ 


1337.37 


0.14% 


43540.0 


BROCHURE PRINTING AND MAILING 


331.41 


0.09% 




833.50 


0.09% 


43560.0 


OUTSIDE PREP. U1DRK ON ADS 


B6.7E 


o.oa% 




E14.E0 


0.02% 


43590.0 


OTHER ADVERTISING 


0.00 


0.00% 




0.00 


0.00% 




TOTAL ADVERTISING » 


11958.93 


3.56% 


S 


2B140.47 


3.08% 




ORDER & SHIPPING EXPENSES 












43610.0 


SHIPPING EXPENSE - OUTGOING 


1334.51 


0.36% 




3328.27 


0.36% 


43620.0 


ORDER /SHIPPING PORMS PRINTING 


53.60 


0.01% 




134.00 


0.01% 


43630.0 


POSTAGE 


639.36 


0.17% 




1596. 4B 


0.17% 




TOTAL * 


2027.47 


0.55% 


$ 


5058.75 


0.55% 




OTHER EXPENSES 












43710.0 


TAXES -LI CENSES -FEES 


SS8.47 


0.07% 




858.47 


0.05% 


437S0.0 


INSURANCE 


111B.36 


0.30% 




S71E.0S 


.29% 


43730.0 


TRAVEL & EMPLOYEE BUSINESS EXP. 


374. 7S 


0.10% 




925.63 


0.10% 


43740.0 


COMMUNICATIONS 


3S60.53 


0.89% 




8131 .76 


.89% 


43750.0 


DOUBTFUL ACCOUNTS 


gsa.ao 


0.86% 




E604.42 


0.2B% 


43760.0 


DUES AND SUBSCRIPTIONS 


1B0.00 


0.04% 




450.00 


0.04% 


43770.0 


OTHER FREIGHT - IN 


434. OB 


0.11% 




107S.1B 


0.11% 


43780.0 


ALLOW 'L CUSTOMER UNDERPAYMENT 


0.00 


0.00% 




0.00 


.00% 


43790.0 


MISCELLANEOUS 


109.67 


0.0E% 




265.95 


0.02% 




TOTAL * 


671 B. 66 


1 .83% 


% 


16450.43 


1 .80% 


43B10.0 


TRANSFER IN FROM OTHER DEPTS . 
CREDITS 


0.00 


0.00% 




0.00 


0.00% 


43910.0 


DIRECT LABOR TRANSFERRED OUT 


-4B201 .59 


13.16% 




-1S0E87.07 


13.19% 


43920.0 


OVERHEAD APPLIED 


-116EB.94 


3.17% 




-27B51 .31 


3.05% 


43990.0 


EST. D'HEAD (OVER)UNDER ABSORBD 


0.00 


0.00% 




0.00 


0.00% 




TOTAL S 


-59B30.53 


16.33% 


S 


-148138.38 


16.54% 




TDTAL DEPARTMENT EXPENSES * 


137942.35 


37.67% 


% 


339371 .53 


37.21% 




NON-OPERATING (INCDME) EXPENSE 












44100.0 


(GAIN)LOSS ON PROP. /EQUIP. SALE 


0.00 


0.00% 




0.00 


0.00% 


44E00.0 


INTEREST ( INCOME )EXPENSE 


19BS.03 


0.54% 




5E60.33 


0.57% 




TOTAL * 


1985.03 


0.54% 


% 


5560.33 


0.57% 




ESTIMATED INCOME TAXES 












4S100.0 


FEDERAL 


33515.75 


9.07% 




B2939.73 


9.09% 


45E00.0 


STATE 


6643.15 


1 .81% 




16SB7.95 


1.81% 




TOTAL * 


39858.90 


10.88% 


s 


99557.68 


10.91% 




TOTAL EXPENSE % 


386035.49 


105.97% 


* 


956846.06 


104.93% 



Report 4-6. Quarterly Income Statement (Page 4 of 4) 



DEBIT TOTAL 
CREDIT TOTAL 



RETAINED EARNINGS 



IMPRESSIVE PRODUCTS 
QUARTERLY INCOME STATEMENT 



480961.00 
468394.82 





DATE 05/31 /7B 




PAGE 4 


PCT 


YTD BAL PCT 




1177397.02 




1163B52.42 




-13544.60 



68 



Report 4-7. Quarterly Balance Sheet — 1st Previous Quarter (Page 1 of 4) 







IMPRESSIVE 


PRODUCTS 










DATE 05/31/78 




QUARTERLY 


BALANCE SHEET 










PAGE 1 






PREVIOUS 


QUARTER 1 












ACCOUNT 


NAME 

ASSETS 

CURRENT ASSETS 
CASH 










QUARTER 








11110.0 


REVENUE BANK 








$ 


S94S5.S6 








11150.0 


PETTY CASH 
REVENUE BANK 

ACCOUNTS RECEIVABLE 

TRADE ACCOUNTS RECEIVABLE 










1S8.1S 
* 


89607 


41 




11418.0 


FINISHED GOODS SALES RECEIVABLE 




107331 


18 










11414.0 


CONSULTING FEES RECEIVABLE 






1500 


00 










11419.0 


ALLOW FOR DOUBTFUL ACCOUNTS 
TOTAL 






-8900 


67 


10S930.51 








11480.0 


EMPLOYEE RECEIVABLES 










18S7.60 








11490.0 


OTHER ACCOUNTS RECEIVABLE 
TOTAL 

INVENTORY - FINISHED GOODS 










0.00 
* 


1077BB 


11 




11610.0 


FINISHED GOODS (AT MFG. COST 1 










3B379S.00 








11680.0 


RAW MATERIALS 










10S0.87 








11630.0 


OTHER INVENTORY 
TOTAL 

PREPAID EXPENSE 










0.00 
* 


384845 


87 




11810.0 


PREPAID INSURANCE 










0.00 








11880.0 


PREPAID TAXES 










3507.86 








11890.0 


OTHER PREPAID EXPENSES 
TOTAL 

CONSULTING 
CONTRACTS -IN -PROCESS 










0.00 


3S07 


86 




11910.0 


DIRECT LABDR 










S400.00 








11980.0 


OVERHEAD 

OTHER DIRECT CHARGES 










8700.00 








11948.0 


DIRECT MATERIALS 






189 


SO 










11944.0 


OUTSIDE SERVICE 









00 










11946.0 


FREIGHT - IN 






79 


18 










11948.0 


TRAVEL 
TOTAL 






143 


33 


411 .95 








11990.0 


CREDITS 
TOTAL 










0.00 

* 


8S11 


95 






TOTAL CURRENT ASSETS 










$ 


534861 


.80 





Report 4-7. Quarterly Balance Sheet — 1st Previous Quarter (Page 2 of 4) 







IMPRESSIVE PRODUCTS 
QUARTERLY BALANCE SHEET 










DATE 05/31 /7B 
PAGE a 






PREVIOUS 


QUARTER 1 












ACCOUNT 


NAME 












QUARTER 








13010.0 
13020.0 

1304S.0 
13044.0 
13046.0 

13990.0 


DEFERRED PRODUCTION COSTS 

DIRECT LABOR 

OVERHEAD 

OTHER DIRECT CHARGES 
DIRECT MATERIALS 
OUTSIDE SERVICES 
FREIGHT - IN 

TOTAL 

CREDITS 
TOTAL 

PROPERTY & EQUIPMENT 








7000 

1S500 

51 


% 

00 
00 

85 


895000.00 
35400.00 

19551.85 
-546.00 


349405 


as 




ISllO.O 
15180.0 
1S130.0 


COST 

MACHINERY & EQUIPMENT 
FURNITURE & FIXTURES 
LEASEHOLD IMPROVEMENTS 

TOTAL 












845899. SS 
30000.00 
0.00 
% 


875899 


55 




15800.0 


CONSTRUCTION-IN-PROCESS 

















00 




15910.0 
15980.0 
1S930.0 


ACCUMULATED DEPRECIATION 
MACHINERY & EQUIPMENT 
FURNITURE AND FIXTURES 
LEASEHOLD IMPROVEMENTS 

TOTAL 

TOTAL PROPERTY & EQUIPMENT 












-93333.00 
-18181.00 
0.00 
% 

% 


-105454 
170445 


00 

55 






TOTAL ASSETS 












$ 


1054118 


00 





69 



Report 4-7, Quarterly Balance Sheet — 1 st Previous Quarter (Page 3 of 4) 







IMPRESSIVE PRODUCTS 
QUARTERLY BALANCE SHEET 






DATE 05/31 /7B 
PAGE 3 






PREVIOUS 


QUARTER 1 








ACCOUNT 


NAME 






QUARTER 








LIABILITIES O. 
STOCKHOLDERS ' EQUITY 










CURRENT LIABILITIES 












SllOO.O 

siaoo.o 

S1300.0 

ai4oo.o 


NOTES PAYABLE 

CURRENT MATUR. ON L-T DEBT 

VOUCHERS PAYABLE 

SALES TAX PAYABLE 






* 


168000.00 

0.00 

101BS0.65 

7894. ai 




aisio.o 
sisao.o 


INCOME TAX PAYABLE 

FEDERAL 

STATE 
TOTAL 






0.00 
0.00 

% 


0.00 




S1610.0 

aiGao.o 

Bl 630.0 
S1640.0 
B1650.0 
B16G0.0 


PAYROLL TAXES PAYABLE 

FEDERAL INCOME TAX WITHHOLDING 

FICA 

FEDERAL UNEMPLOYMENT TAX 

STATE INCOME TAX WITHHOLDING 

SDI 

STATE UNEMPLOYMENT TAX 
TOTAL 




3S74B.00 
9S4S.31 
1637.39 
S4S8.99 
1376. B6 
1954.S6 
S 


SS687.11 




ai7io.o 

B17B0.0 
B1730.0 
B1790.0 


ACCRUED LIABILITIES 

PAYROLL 

VACATION 

PROPERTY TAXES 

OTHER ACCRUED LIABILITIES 
TOTAL 






0.00 
86B0.0O 
1400.00 

0.00 

* 


looao.oo 




aiBio.o 
aiBao.o 

B1830.0 


UNEARNED INCOME 
CUSTOMER OVERPAYMENTS 
UNIDENTIFIED CUSTOMER RECEIPTS 

TOTAL CURRENT LIABILITIES 






s 


S00.00 

lass. oo 

1950.00 
346556.97 




aaioo.o 
saaoo.o 


LONG TERM LIABILITIES 

NOTES PAYABLE 

DEFERRED INCOME TAXES PAYABLE 
TOTAL 






* 


aooooo.oo 

0.00 
HOOOOO.OO 





Report 4-7. Quarterly Balance Sheet — 1 st Previous Quarter (Page 4 of 4) 







IMPRESSIVE PRODUCTS 






DATE 05/31/78 






QUARTERLY BALANCE SHEET 






PAGE 4 






PREVIOUS QUARTER 1 








ACCOUNT NAME 




QUARTER 








STOCKHOLDERS' EQUITY 










B3100.0 


CAPITAL STOCK 




« 


300000.00 




E3a00.0 


ADDITIONAL PAID-IN CAPITAL 






0.00 




S3900.0 


RETAINED EARNINGS 






307555.03 






TOTAL 




$ 


S07S5S.03 






TOTAL LIAB . 6. STOCKHOLDERS ' EQ . 




* 


1054113. 00 






DEBIT TOTAL 


1163018.67 










CREDIT TOTAL 


116301B.67 










PROOF 


0.00 









70 



REPORTS G/L040 (Page 1 of 2) 



o 



2 



G/L REPORTS 

mask 3 




keyin 
report type 



entry = 

(EXIT) 

? 




YES 



REPORTS 
< LOADING 

\ MENU 



load Menu 
G/LOOO 




NO 



report 
type = 1 
(TRIAL) 
? 

■ NO 



report 
type = 2 
(SPECIAL) 
? 



NO 



report 

type = 3 

(MONTHLY) 

? 

NO 



report 

type = 4 

(QUARTERLY) 

? 



NO 





V S page 2 



YES 
















report format 




YES 




1 


YES 


keyin 
report format 


V 






YES 


keyin 










report format 






kei 


fin 






report quarter 








i m 




page 2 



71 



REPORTS G/L040 (Page 2 of 2) 




page 1 



page 1 



72 



G/L050 



Account File Maintenance 



O 



PURPOSE: Add, change or delete Account records. 

WHEN: As needed. 

TO EXIT: Enter an operation code of '0', or SFK15 any time. 

Each General Ledger account must have a record on the Account file before any posting may be 
posted to it in General Ledger Update. 

This program allows you to add new accounts and change, delete, or print a listing of existing 
Account records. As discussed in Chapter 3, you must enter an Account record not only for each 
regular General Ledger account, but also for each heading, title and total you have included in your 
chart of accounts. 

The initial display appears as CRT 5-1. 



CRT 5-1 



G/L ACCOUNT FILE MAINTENANCE 

ENTER OPERATION CODE (0^-EXIT! 1=ADDS 2=CHANGE/DELETE S 3~PRINT) 

x 

<bul I etin> 

ACCOUNT 

DNAME 

2)ACC0UNT TYPE 9)THIS MONTH 

3)REP0RT TYPE 10)THIS YEAR 

4)N0RMAL BALANCE 1DTHIS aTR 

5)T0TAL LEVEL 12) 1ST PREV aTR 

6)EXTRA LINE ADV 13)2ND PREV aTR 

7)SALES ACCOUNT 14)3RD PREV aTR 

3)SPECIAL REPORT 15)LAST YEAR 



d = display only, x = enter only, z = enter or display with option to change 



73 



SELECT OPERATION 

1) Enter operation code (0-4). 

• EXIT. Program ends The Menu is loaded. 

1 - ADD. Add a new Account record to the Account file Proceed to step 2. 

2 - CHANGE/DELETE. Change or delete an existing Account record Proceed to step 4 

3 - PRINT. Print a listing of existing G/L Account records Proceed to step 7 



OPERATION IS ADD 

2) Enter account number (0-99999 9/99) 

H • Abort ADD operation. Select a new operation, return to step 1 

Account number - Request to add this account to the Account file. A check is made to see if the requested 
account number is already on the Account file 

If yes, the bulletin ALREADY ON FILE is flashed A new account number is requested, repeat this step 

If no, new account information is requested; proceed to step 3 

3) Enter field values as requested. 

See Table 5-1 for field details. When entry is complete, you may make changes; proceed to step 5. 

OPERATION IS CHANGE/DELETE 

4) Enter account number (0-99999.9/99). 

b - Abort CHANGE/DELETE operation. Select a new operation, return to step 1 

Account number - Request to change or delete this record. A check is made to see if the requested account 
number is on the Account file 

If yes, display current information You may make changes, proceed to step 5 

If no, the bulletin NOT ON FILE is flashed A new account number is requested; repeat this step 

Change or Delete 
ENTER FIELD TO CHANGE (99 = DELETE) 

5) Enter field number (0-15, 99). 

- No changes. Save record on Account file 

If operation is ADD, return to step 2 

If operation is CHANGE/DELETE, return to step 4 

1-15 - Enter field value when requested. See Table 5-1 for field details The next change is requested, repeat 
this step 

99 - Request to DELETE this Account record. Proceed to step 6 



Verify DELETE 

ENTER DELETE CODE 

6) Verify DELETE operation. 

DEL - DELETE operation is effected. This Account record is deleted The bulletin RECORD DELETED is 
flashed 

If operation is ADD, return to step 2 

If operation is CHANGE/DELETE, return to step 4 

Anything else - DELETE operation is aborted. The same Account record remains on display, and the next 
change is requested; return to step 5 



74 



Table 5-1. G/L Account Fields 



Field 



Description 



10 
11 

12 

13 

14 

15 



NAME (31 characters). Name or description of account. 

ACCOUNT TYPE (0-3). If there is no sub-account number as part of the account number, a 
'0' Account Type is assigned automatically. See Table 3-E in Chapter 3 for detailed Ac- 
count Type descriptions 

- Regular. 

1 - Title. 

2 - Total. 

3 - Heading. 
REPORT TYPE (1-2) 

1 - Income Statement. For income and expense 

2 - Balance Sheet. For assets and liabilities. 
NORMAL BALANCE (1-2) 

1 - Debit. 

2 - Credit. 

TOTAL LEVEL (0-9) Indicate position or level of inclusion when printing account totals 
Further discussion provided in Chapter 3. 

EXTRA LINE ADVANCE (0-9). 

0-8 - The number of blank lines to print between this account and the following record 
on the General Ledger financial reports 

9 - Printer advance paper to the top of a new page. 
SALES ACCOUNT (0-1) Indicate whether this account should apply towards total sales 

- No, not a sales account. 

1 - Yes, include in sales account percentages 

SPECIAL REPORT (0-1). Indicate whether this report should be included on the "special" 
report which may be printed in the Report program. 

- No, do not include on the special report 

1 - Yes, include on the special report. 

THIS MONTH (-9999999.99 - +9999999.99) Amount which has been posted to this 

account this month. 
THIS YEAR (-9999999.99 - +9999999.99), Amount posted to this account this year. 

THIS QUARTER (-9999999.99 - +9999999.99) Amount posted to this account this 
quarter. 

FIRST PREVIOUS QUARTER (-9999999 99 - +9999999.99). Amount posted to this ac- 
count one quarter prior to current quarter. 

SECOND PREVIOUS QUARTER (-9999999.99 - +9999999.99). Amount posted to this 
account two quarters prior to current quarter. 

THIRD PREVIOUS QUARTER (-9999999 99 - +9999999.99). Amount posted to this ac- 
count three quarters prior to current quarter. 

LAST YEAR (-9999999.99 - +9999999 99) Amount posted to this account last year. 



75 



OPERATION IS PRINT 

To prepare for this operation load standard paper into the printer, then make sure the printer is 
turned on and ready to print. 

ENTER REPORT TYPE (0=NONE; 1 =DESCRIPTIONS; 2=AMOUNTS; 3=BOTH) 

7) Enter report type (0-3) 

- PRINT operation is aborted. A new operation is requested, return to step 1 

1 - DESCRIPTIONS. A General Ledger Accounts report listing account descriptive fields (account fields 1-8) 

will be printed All account types are included A sample Descriptions report is shown in Report 5-1 When 
the report is completed, another report may be printed, repeat this step 

2 - AMOUNTS. A General Ledger Accounts report listing account amount fields (account fields 9-15) will be 

printed Only regular type accounts (account type 0) are included A sample Amounts report is shown in Re- 
port 5-2 When the report is completed, another report may be printed, repeat this step 

3 - BOTH. A General Ledger Accounts report including both descriptive and amount fields will be printed All 

account types are included, but amounts are printed only for regular type accounts (account type 0) A sam- 
ple of this type of report is shown in Report 5-3 When the report is completed, another report may be 
printed, repeat this step 

Report 5-1. General Ledger Accounts ("Descriptions") 









IMPRESSIVE PRODUCTS 












DATE OS/31 /7B 






GENERAL LEDGER 


ACCOUNTS 












PAGE 1 




ACCOUNT 


NAME 
























10OO0.0 


ASSETS 


SUB 


50 


TITLE 


BALANCE 


SHEET 


DB 


LEVEL 


8 


a LINES 


SPECIAL 


REPT 


11000.0 


CURRENT ASSETS 


SUB 


SO 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


6 


1 LINES 






11100.0 


CASH 


SUB 


50 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


5 








11110.0 


REVENUE BANK 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


11150.0 


PETTY CASH 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


11199.0 


REVENUE BANK 


SUB 


50 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


5 


1 LINES 






11400.0 


ACCOUNTS RECEIVABLE 


SUB 


SO 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


5 




SPECIAL 


REPT 


11410.0 


TRADE ACCOUNTS RECEIVABLE 


SUB 


SO 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


a 








1141S.0 


FINISHED GOODS SALES RECEIVABLE 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 







SPECIAL. 


REPT 


11414.0 


CONSULTING FEES RECEIVABLE 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 







SPECIAL 


REPT 


11419.0 


ALLOW FOR DOUBTFUL ACCOUNTS 






REGULAR 


BALANCE 


SHEET 


CR 


LEVEL 







SPECIAL 


REPT 


11419.0 


TOTAL 


SUB 


SO 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


a 








114S0.0 


EMPLOYEE RECEIVABLES 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


11490.0 


OTHER ACCOUNTS RECEIVABLE 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


11499.0 


TOTAL 


SUB 


50 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


5 


1 LINES 






11600.0 


INVENTORY - FINISHED GOODS 


SUB 


50 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


5 








11610.0 


FINISHED GOODS (AT MFG. COST) 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


116E0.0 


RAW MATERIALS 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


11630.0 


OTHER INVENTORY 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


11699.0 


TOTAL 


SUB 


50 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


5 


1 LINES 






11800.0 


PREPAID EXPENSE 


SUB 


SO 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


5 








11810.0 


PREPAID INSURANCE 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


118S0.0 


PREPAID TAXES 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


11890.0 


OTHER PREPAID EXPENSES 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


11B99.0 


TOTAL 


SUB 


50 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


s 


1 LINES 






11900.0 


CONSULTING 


SUB 


50 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


5 








11900.0 


CONTRACTS-IN-PROCESS 


SUB 


SI 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL. 


5 








11910.0 


DIRECT LABOR 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


H980.0 


OVERHEAD 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


11940.0 


OTHER DIRECT CHARGES 


SUB 


SO 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


a 








1194S.0 


DIRECT MATERIALS 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 







SPECIAL 


REPT 


11944.0 


OUTSIDE SERVICE 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 







SPECIAL 


REPT 


11946.0 


FREIGHT - IN 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 







SPECIAL 


REPT 


11948.0 


TRAVEL 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 







SPECIAL 


REPT 


11949.0 


TOTAL 


SUB 


SO 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


a 








11990.0 


CREDITS 






REGULAR 


BALANCE 


SHEET 


CR 


LEVEL 


a 




SPECIAL 


REPT 


11999.0 


TOTAL 


SUB 


40 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


5 


1 LINES 






11999.0 


TOTAL CURRENT ASSETS 


SUB 


SO 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


6 


TOP /PAGE 






13000.0 


DEFERRED PRODUCTION COSTS 


SUB 


50 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


S 








13010.0 


DIRECT LABOR 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


130SO.O 


OVERHEAD 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 


a 




SPECIAL 


REPT 


13040.0 


OTHER DIRECT CHARGES 


SUB 


50 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


a 








1304E.0 


DIRECT MATERIALS 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 







SPECIAL 


REPT 


13044.0 


OUTSIDE SERVICES 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 







SPECIAL 


REPT 


13046.0 


FREIGHT - IN 






REGULAR 


BALANCE 


SHEET 


DB 


LEVEL 







SPECIAL 


REPT 


13049.0 


TDTAL 


SUB 


50 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


a 








13990.0 


CREDITS 






REGULAR 


BALANCE 


SHEET 


CR 


LEVEL 


a 




SPECIAL 


REPT 


13999.0 


TOTAL 


SUB 


50 


TOTAL 


BALANCE 


SHEET 


DB 


LEVEL 


6 


a LINES 






15000.0 


PROPERTY & EQUIPMENT 


SUB 


SO 


HEADING 


BALANCE 


SHEET 


DB 


LEVEL 


6 


1 LINES 







76 



Report 5-2. General Ledger Accounts ("Amounts" 









IMPRESSIVE 


PRODUCTS 














DATE 05/31 /7B 










GENERAL 


LEDGER ACCOUNTS 














PAGE 1 






ACCOUNT 


NAME 


THIS 


MO 


THIS YEAR 


THIS QTR 


PREV QTR-1 


PREV QTR-8 


PREV GTR-3 


LAST YEAR 


11110 





REVENUE BANK 


S0B35 


.25 


80835.85 


20835 


25 


89455 


26 


38400 


.78 


35640.86 


32400 


.78 


111S0 





PETTY CASH 


40 


00 


40.00 


40 


00 


152 


15 


167 


36 


184.10 


167 


.36 


11412 





FINISHED GOODS SALES RECEIVABLE 


100941 


.03 


100941 .03 


100941 


03 


107331 


IB 


118064 


.89 


189B70.7S 


118064 


.89 


11414 





CONSULTING FEES RECEIVABLE 


1500 


00 


1500.00 


1500 


00 


1500 


00 


1650 


00 


IBIS. 00 


1650 


00 


11419 





ALLOW FOR DOUBTFUL ACCOUNTS 


30E8 


S3 


3088.23 


308B 


S3 


8900 


67 


3190 


.73 


3509.81 


3190 


.73 


114E0 





EMPLOYEE RECEIVABLES 


1030 


00 


1030.00 


1030 


00 


1857 


60 


8043 


36 


8247 . 69 


8043 


36 


11490 





OTHER ACCOUNTS RECEIVABLE 





00 


0.00 





00 





00 





.00 


0.00 





00 


11610 





FINISHED GOODS <AT MFG. COST) 


E66195 


00 


866195.00 


866195 


00 


3B379S 


00 


422174 


50 


464391.95 


488174 


50 


11680 





RAW MATERIALS 


929 


13 


929.13 


929 


13 


1050 


87 


1155 


.95 


1271.55 


1155 


.95 


11630 





OTHER INVENTORY 





00 


0.00 





00 





00 





00 


0.00 





00 


11B10 





PREPAID INSURANCE 


877 


24 


877.84 


877 


84 





00 





00 


0.00 





.00 


11BE0 





PREPAID TAXES 





00 


0.00 





00 


3507 


86 


385B 


64 


4844.51 


3858 


64 


11890 





OTHER PREPAID EXPENSES 


63 


50 


63.50 


63 


50 





00 





00 


0.00 





00 


11910 





DIRECT LABOR 


5400 


00 


5400.00 


5400 


00 


5400 


00 


5940 


00 


6534.00 


5940 


00 


11920 





OVERHEAD 


E700 


00 


8700.00 


8700 


00 


8700 


00 


2970 


00 


3267.00 


8970 


00 


1194S 





DIRECT MATERIALS 


513 


75 


513. 7S 


513 


75 


189 


50 


208 


45 


289.29 


208 


45 


11944 





OUTSIDE SERVICE 


86 


19 


86.19 


86 


19 





00 





00 


0.00 





00 


1194G 





FREIGHT - IN 


22 


07 


88.07 


22 


07 


79 


12 


87 


03 


95.73 


87 


03 


11948 





TRAVEL 


143 


33 


143.33 


143 


33 


143 


33 


157 


66 


173.42 


157 


66 


11990 





CREDITS 


1000 


00 


1000.00 


1000 


00 





00 





00 


0.00 





00 


13010 





DIRECT LABOR 


300000 


00 


300000.00 


300000 


00 


295000 


00 


324500 


00 


356950.00 


384500 


00 


130E0 





OVERHEAD 


36000 


00 


36000.00 


36000 


00 


35400 


00 


38940 


00 


48834.00 


3B940 


00 


1304E 





DIRECT MATERIALS 


6770 


00 


6770.00 


6770 


00 


7000 


00 


7700 


00 


8470.00 


7700 


00 


13044 





OUTSIDE SERVICES 


E5000 


00 


85000.00 


25000 


00 


12500 


00 


13750 


00 


15185.00 


13750 


00 


13046 





FREIGHT - IN 





00 


0.00 





00 


51 


85 


56 


37 


68.01 


56 


37 


13990 





CREDITS 





00 


0.00 





00 


S46 


00 


600 


60 


660.66 


600 


60 


15110 





MACHINERY 8. EQUIPMENT 


350000 


00 


350000.00 


350000 


00 


845899 


55 


870489 


50 


897536.45 


270489 


50 


1S1S0 





FURNITURE & FIXTURES 


30000 


00 


30000.00 


30000 


00 


30000 


00 


33000 


00 


36300.00 


33000 


00 


15130 





LEASEHOLD IMPROVEMENTS 


E000 


00 


8000.00 


8000 


00 





00 





00 


0.00 





00 


15800 





CONSTRUCTION-IN-PROCESS 





00 


0.00 





00 





00 





00 


0.00 





00 


15910 





MACHINERY & EQUIPMENT 


100000 


00 


100000.00 


100000 


00 


93333 


00 


102666 


30 


118938.93 


102666 


30 


159E0 





FURNITURE AND FIXTURES 


13333 


00 


13333.00 


13333 


00 


12121 


00 


13333 


10 


14666.41 


13333 


10 


15930 





LEASEHOLD IMPROVEMENTS 


571 


00 


571 .00 


571 


00 





00 





00 


0.00 





00 


E1100 





NOTES PAYABLE 


180000 


00 


180000.00 


180000 


00 


168000 


00 


1B4B00 


00 


203280.00 


1B4B00 


00 


aieoo 





CURRENT MATUR. ON L-T DEBT 





00 


0.00 





00 





00 





00 


0.00 





00 


E1300 





VOUCHERS PAYABLE 


95467 


85 


95467. B5 


95467 


85 


101850 


65 


111375 


71 


122513.88 


111375 


71 


E1400 





SALES TAX PAYABLE 


3281 


00 


3881 .00 


3221 


00 


7894 


81 


9683 


63 


9551.99 


8683 


63 


21510 





FEDERAL 





00 


0.00 





oo 





00 





00 


0.00 





00 


E15E0 





STATE 





00 


o.oo 





00 





00 





00 


0.00 





00 


£1610 





FEDERAL INCOME TAX WITHHOLDING 


16250 


00 


16850.00 


16250 


00 


35748 


00 


39322 


80 


43255. OB 


39388 


80 


S16S0 





FICA 


3315 


84 


3915.24 


3915 


84 


9548 


31 


10496 


54 


11546.19 


10496 


S4 


El 630 





FEDERAL UNEMPLOYMENT TAX 


783 


13 


783.13 


783 


13 


1637 


89 


1801 


01 


1981.12 


1801 


01 


81640 





STATE INCOME TAX WITHHOLDING 


2659 


94 


8659.94 


8659 


94 


54SB 


99 


5971 


B8 


6569.07 


5971 


88 


E1650 





SDI 


652 


35 


658.35 


652 


35 


1376 


26 


1513 


88 


1665.37 


1513 


88 


S1660 





STATE UNEMPLOYMENT TAX 


1495 


57 


1495.57 


1495 


57 


1954 


86 


8149 


68 


2364 . 65 


2149 


68 


S1710 





PAYROLL 





00 


0.00 





00 





00 





00 


0.00 





00 


E17E0 





VACATION 


12480 


00 


12480.00 


12480 


00 


8680 


00 


9488 


00 


10430.80 


94B8 


00 


E 1730 





PROPERTY TAXES 


1400 


00 


1400.00 


1400 


00 


1400 


00 


1540 


00 


1694.00 


1540 


00 


E1790 





OTHER ACCRUED LIABILITIES 





00 


0.00 





00 





00 





00 


0.00 





00 



77 







Report 5-3. General Ledc 


er Accounts ("Both") 




















IMPRESSIVE 


PRODUCTS 










DATE 05/31/78 










GENERAL LEDGER ACCOUNTS 










PAGE 1 








ACCOUNT 


NAME 




THIS MO 


THIS YEAR 


THIS QTR 


PREV QTR-1 PREV QTR-S 


PREV QTR-3 


LAST YEAR 


10000.0 


ASSETS 


SUB 


SO TITLE 


BALANCE 


SHEET DB 


LEVEL 8 8 LINES 






SPECIAL 


REPT 






11000.0 


CURRENT ASSETS 


SUB 


SO HEADING 


BALANCE 


SHEET DB 


LEVEL 6 1 LINES 














11100.0 


CASH 


SUB 


50 HEADING 


BALANCE 


SHEET DB 


LEVEL 5 














11110.0 


REVENUE BANK 




REGULAR 


BALANCE 


SHEET DB 


LEVEL E 






SPECIAL 


REPT 












20235. 2S 


E0E35.E5 


80S35.ES 


E9455.E6 


3E400 


.78 


3S640.B6 


33400 


.7B 


11150.0 


PETTY CASH 




REGULAR 


BALANCE 


SHEET DB 


LEVEL E 






SPECIAL 


REPT 












40.00 


40.00 


40.00 


1 SE . 1 5 


167 


.36 


184.10 




167 


.36 


11199.0 


REVENUE BANK 


SUB 


SO TOTAL 


BALANCE 


SHEET DB 


LEVEL 5 1 LINES 














11400.0 


ACCOUNTS RECEIVABLE 


SUB 


50 HEADING 


BALANCE 


SHEET DB 


LEVEL 5 






SPECIAL 


REPT 






11410.0 


TRADE ACCOUNTS RECEIVABLE 


SUB 


50 HEADING 


BALANCE 


SHEET DB 


LEVEL E 














1141E.0 


FINISHED GOODS SALES RECEIVABLE 


REGULAR 


BALANCE 


SHEET DB 


LEVEL 






SPECIAL 


REPT 












100941.03 


100941 .03 


100941 .03 


107331.18 118064 


.S9 


ia9B70.7S 


118064 


E9 


11414.0 


CONSULTING FEES RECEIVABLE 




REGULAR 


BALANCE 


SHEET DB 


LEVEL 






SPECIAL 


REPT 












1500.00 


1500.00 


1500.00 


1500.00 


1650 


.00 


1815.00 




1650 


00 


11419.0 


ALLOW FOR DOUBTFUL ACCOUNTS 




REGULAR 


BALANCE 


SHEET CR 


LEVEL 






SPECIAL 


REPT 












30E8.E3 


3028.23 


30EB.E3 


S900.67 


3190 


.73 


3S09.81 




3190 


73 


11419.0 


TOTAL 


SUB 


50 TOTAL 


BALANCE 


SHEET DB 


LEVEL E 














114E0.0 


EMPLOYEE RECEIVABLES 




REGULAR 


BALANCE 


SHEET DB 


LEVEL 3 






SPECIAL 


REPT 












1030.00 


1030.00 


1030.00 


1S57.60 


3043 


.36 


E847 . 69 




2043 


36 


11490.0 


OTHER ACCOUNTS RECEIVABLE 




REGULAR 


BALANCE 


SHEET DB 


LEVEL E 






SPECIAL 


REPT 












0.00 


0.00 


0.00 


0.00 





.00 


0.00 







00 


11499.0 


TOTAL 


SUB 


SO TOTAL 


BALANCE 


SHEET DB 


LEVEL 5 1 LINES 














11600.0 


INVENTORY - FINISHED GOODS 


SUB 


50 HEADING 


BALANCE 


SHEET DB 


LEVEL 5 














11610.0 


FINISHED GOODS (AT MFG. COST) 


REGULAR 


BALANCE 


SHEET DB 


LEVEL 8 






SPECIAL 


REPT 












E66195.00 


266195.00 


E66195.00 


383795.00 4EE174 


.50 


464391.95 


4EE174 


SO 


neao.o 


RAW MATERIALS 




REGULAR 


BALANCE 


SHEET DB 


LEVEL a 






SPECIAL 


REPT 












9E9.13 


9E9.13 


959.13 


1050.87 


11S5 


9S 


1E71.5S 




1155 


95 


11630.0 


OTHER INVENTORY 




REGULAR 


BALANCE 


SHEET DB 


LEVEL a 






SPECIAL 


REPT 












0.00 


0.00 


0.00 


o.oo 





.00 


0.00 







00 


11699.0 


TOTAL 


SUB 


50 TOTAL 


BALANCE 


SHEET DB 


LEVEL 5 1 LINES 














11B00.0 


PREPAID EXPENSE 


SUB 


50 HEADING 


BALANCE 


SHEET DB 


LEVEL 5 














11810.0 


PREPAID INSURANCE 




REGULAR 


BALANCE 


SHEET DB 


LEVEL 3 






SPECIAL 


REPT 












877.24 


B77.E4 


B77.S4 


0.00 





00 


0.00 







00 


11BE0.0 


PREPAID TAXES 




REGULAR 


BALANCE 


SHEET DB 


LEVEL a 






SPECIAL 


REPT 












0.00 


0.00 


0.00 


3507. BS 


3B5B 


64 


4E44.S1 




3B5B 


64 


11890.0 


OTHER PREPAID EXPENSES 




REGULAR 


BALANCE 


SHEET DB 


LEVEL a 






SPECIAL 


REPT 












63.50 


63.50 


63.50 


0.00 





00 


0.00 







00 


11899.0 


TOTAL 


SUB 


50 TOTAL 


BALANCE 


SHEET DB 


LEVEL S 1 LINES 














11900.0 


CONSULTING 


SUB 


50 HEADING 


BALANCE 


SHEET DB 


LEVEL 5 














11900.0 


CONTRACTS-IN-PROCESS 


SUB 


51 HEADING 


BALANCE 


SHEET DB 


LEVEL 5 














11910.0 


DIRECT LABOR 




REGULAR 


BALANCE 


SHEET DB 


LEVEL a 






SPECIAL 


REPT 












5400.00 


5400.00 


S400.00 


5400.00 


5940 


00 


6534.00 




5940 


00 


119E0.0 


OVERHEAD 




REGULAR 


BALANCE 


SHEET DB 


LEVEL S 






SPECIAL 


REPT 












E700.00 


2700.00 


E700.00 


E700.00 


3970 


00 


3267.00 




2970 


00 


11940.0 


OTHER DIRECT CHARGES 


SUB 


50 HEADING 


BALANCE 


SHEET DB 


LEVEL E 














11942.0 


DIRECT MATERIALS 




REGULAR 


BALANCE 


SHEET DB 


LEVEL 






SPECIAL 


REPT 












513.75 


513.75 


513. 75 


139.50 


SOB 


45 


S29.29 




20B 


45 


11944.0 


OUTSIDE SERVICE 




REGULAR 


BALANCE 


SHEET DB 


LEVEL 






SPECIAL 


REPT 












86.19 


B6.19 


86.19 


0.00 





.00 


0.00 







00 



78 



G/L ACCOUNT FILE MAINTENANCE G/L050 (Page 1 of 2) 



o o 

/G/L ACCOU 




G/L ACCOUNT 
/ FILE 

\ MAINTENANCE 
\. mask 4 



ENTER 

OPERATION 

CODE (0 = EXIT, 

1 = ADD, 2 = 

.CHANGE/DELETE J 

3 = PRINT) 



keyin 
operation code 




< G/L 

ACCOUNT F/M 
LOADING 
MENU 



operation 

code = 3 

(PRINT) 



load 

Menu 

G/L000 




page 2 




79 



G/L ACCOUNT FILE MAINTENANCE G/L050 (Page 2 of 2) 





account 
description 
and amounts 



O 



< ENTER FIELD 
TO CHANGE 
(0 = NONE, 
99 = DELETE) 




80 



G/L060 I Account File Reorganize 



O 



PURPOSE: Recover wasted space in the G/L Account file. 

WHEN: End of year, or as needed. 

TO EXIT: Enter an initial response of [RETURN]. 

When records are "deleted" through Account File Maintenance, the space on the file is not auto- 
matically reused. This wasted space builds up over time. Reorganize is run to recover wasted space 
within the file. At the same time, Account records are reordered in account number order so that 
record accessing will be most efficient after reorganization. 

The program we supply in this book merely loads the real reorganize program. Your programmer 
may supply you with additional instructions if he deems them necessary for running the reorganize 
program which he installs. 

This program requires virtually no user action. You need merely tell it when to begin. 
START AND END 

G/L ACCOUNT FILE REORGANIZE 
OK TO BEGIN? 

1) Start reorganize? (1-0). 

1 - Yes, reorganize. The reorganize processor is loaded Continue according to your programmer's instructions 
Anything else - No, exit. End Program The Menu is loaded 



81 



ACCOUNT FILE REORGANIZE G/L060 



<G/L 
ACCOUNT 
FILE 
REORGANIZE 




YES 



/reorganize 
/ not begun. 

\ LOADING 
\^ MENU 



load your 
reorganize 
processor 



load 

Menu 

G/LOOO 




execute your 

reorganize 

processor 



f end J 



82 



Chapter Five 
SPECIAL HARDWARE AND BASIC FEATURES 

The General Ledger programs were developed and tested on a Wang Laboratories 2200B 
minicomputer system with 16K bytes of program memory (that does not include the BASIC in- 
terpreter), and with a disk to hold the program and data files. This chapter describes the 
features of the Wang system that are most likely to be different from one computer to the next. 
Only features that affect the General Ledger programs are included. 

CRT DISPLAY SCREEN 

The Wang 2200B has a 16-row by 64-column CRT display screen, which the programs use 
for operator prompting and data review. If you have a smaller CRT screen on your computer system, 
you will have to redo the CRT layouts that do not fit your screen and rewrite the programs to use your 
layouts. Program changes will probably not be necessary if your CRT screen is larger, since the pro- 
grams will just ignore any extra space. 

The CRT cursor can be positioned anywhere on the screen prior to displaying or inputting 
data without affecting characters already displayed. This means it is possible to display any part of 
a line without having to redisplay the entire screen or even the whole line. This feature is very useful 
for displaying data from different records of the same file, for example. A program can clear the screen 
and display a mask (the labels that describe the record's fields). Then, in response to an operator en- 
try, it can fill in the mask with the values for a specific record. Values from different records can be 
displayed subsequently without affecting the mask. New values for specific data fields can be entered 
right where the old values were displayed. 

The CRT display speed is selectable. This feature is used to display flashing bulletins. 

The CRT display has a standard 64-element ASCII character set of upper-case letters, 
digits, punctuation marks, arithmetic operators, relational operators, etc. It also recognizes the 
special hexadecimal codes listed in Table 5-A. 



Table 5-A. Special CRT Hexadecimal Codes 


Hexadecimal Code 


CRT Action 


01 


Cursor home (upper left corner) 


03 


Clear screen and cursor home 


08 


Cursor left one space (<— ) 


09 


Cursor right one space (■—■) 


0A 


Cursor down one line (j) 


OC 


Cursor up one line (f) 



KEYBOARD 

The keyboard used for manual data entry includes standard alphabetic, numeric, and 
punctuation keys. In addition, there are 16 special function keys (SFK's). General Ledger only 
uses SFK15. Pressing SFK15 during normal keyboard entry generates a hexadecimal code OF 
which the program interprets as a request from the operator to return to the Menu. Instead, you 
could reload the Menu program whenever the keyboard generates hexadecimal code 03. 
Simultaneously depressing the CONTROL and C keys will generate hexadecimal 03 on many 
keyboards. 



83 



HIGH-SPEED OUTPUT 

A 1 32-coIumn printer is the standard high-speed output device for all reports. It has a stan- 
dard 64-element ASCII character set of upper-case letters, digits, punctuation marks, 
arithmetic operators, relational operators, etc. It also uses special hexadecimal code 01 (no 
printed output) and OC (top of form). 

If your printer has more than 1 32 columns, the programs will ignore the excess columns On the 
other hand, a smaller printer will require changing the programs that print full width reports. You will 
have to redesign the reports to print a shorter line, either by deleting some information or by printing 
some information on extra lines. 

NUMERICS AND NUMERIC EXPRESSIONS 

A numeric expression can be a variable, function or constant. It can also be any valid (in 
the conventional algebraic sense) combination of variables, functions and constants connected 
by arithmetic operators. 

Numeric constants can be integers (signed or unsigned) or floating point numbers (signed 
or unsigned). They can be written using standard decimal notation, for example: 

2 

+2 

-3.675 

1234.56 

-123456 

-0.000001 

Numeric constants can also be written using scientific notation. The letter E is used to indi- 
cate "times 10 to the power", as follows: 

0.0001 can be written as 1E-4 
100 can be written as 1E2 
1000 can be written as 1E3 

A numeric variable can be a letter or a letter followed by a digit. In addition to simple 

numeric :: w8n3ajB@s, : sing ay or «QUo ay : 3UwScnpi@o arrays 

must always be dimensioned, using a DIM statement, on a line preceding the first array reference in 

the program. Subscripts cannot be less than 1 nor greater than 255. 

The same letter may be used to represent a simple variable and an array name in the same 

program. Thus, A and A(1) can both be used in the same program; they are independent and unrel- 
ated variables. Singly and doubly subscripted arrays may not share the same name, however. All sim- 

B3S© fli %s if B B@@w C ^7c1h 3ob33©w GfiiQt ©cSCITb ©S©bh1@be X OT cs BiUfia©B IC QiidV caST S oUs.Otnr8c«5.tCcaBS jr S©X XO !2!^5h O BJSTCJb © 

program execution. 

The precedence rules for evaluating numeric expressions are: 

1) Evaluate expressions enclosed in parentheses 

2) Exponentiate 

3) Multiply or Divide 

4) Add or Subtract 

AlPHANUMERICS (STRINGS) 

Alphanumeric variables are named with either a letter followed by a dollar sign, or with a 
letter followed by a digit followed by a dollar sign. Singly and doubly subscripted alphanumeric 
arrays can also be used, and are named the same way as simple alphanumeric variables. A sim- 
ple variable and an array can have the same name in the same program. Thus, A$ and A$(1) can 
both be used in the same program; they are independent and unrelated variables. Singly and doubly 
subscripted arrays cannot have the same name. 



84 



The maximum length of a simple alphanumeric variable can be defined in a DIM statement 
and must be between 1 and 64. Undimensioned variables default to a maximum length of 16 
characters. A variable's length must be dimensioned on a line that precedes its first reference in a 
program, or the default length will be used. 

Singly and doubly subscripted alphanumeric arrays are also dimensioned using the DIM 
statement. Each subscript must be between 1 and 255. Array element maximum length may also be 
specified (all elements have the same maximum length: between 1 and 64 characters). If the element 
length is not specified, it defaults to 16 characters. 

Following is an example of alphanumeric variable and array dimensioning: 

100 DIM A$,A1$3.A2$40,A$(5),B$(5,2)6,B1$(3,3) 

A$ is a simple alphanumeric variable with a maximum length of 16 characters. A1$ is a simple 
alphanumeric variable with a maximum length of 3, A2$ is a simple alphanumeric variable with a 
maximum length of 40, A$() is an alphanumeric array with 5 elements, each having a length of 16, 
B$() is a doubly subscripted alphanumeric array with 10 total elements, each having a length of 6, 
and B1$() is a doubly subscripted alphanumeric array with a total of 9 elements, each having a length 
of 16. 

During program execution, simple aphanumeric variables and alphanumeric array elements 
(collectively termed "string variables" in the following paragraphs) may be assigned values 
shorter than their maximum length. If this happens, trailing blanks are automatically added to fill 
out the variable. Trailing blanks are not considered to be part of string values. String variables are 
assigned the value of one blank before program execution begins. 

There are three built-in alphanumeric functions which may be implemented differently in 
other versions of BASIC: 



1) 



2) 



3) 



STR (string variable, expression [.expression]) causes a substring of the specified string 
variable to be used. The substring starting character is denoted by the first expression, and its 
length is given (optionally) by the second expression. If no length is specified, the remainder of 
the string is used (up to, but not including any trailing blanks). When the STR function is used in a 
LET statement, characters are transferred as illustrated in Table 5-B. 

LEN (string variable) determines the number of characters in the specified variable, excluding 
trailing blanks. For example, if A$ = "AB C", then LEN (A$) = 4. 

HEX (hexadecimal number) generates the character specified by the hexadecimal digits. For ex- 
ample, PRINT HEX (41422043) will print AB C. 

Table 5-B. Using STR with LET 



DIM A$13,B$13 


A$ = "1234567890 


B$ = "ABCDEFGHIJ 


LET statement 


Value of A$ 


A$ = B$ 


"ABCDEFGHIJ 


STR(A$,2) = B$ 


"1ABCDEFGHIJ 


STR(A$,2,2) = B$ 


"1AB4567890 


A$ = STR(B$,2) 


"BCDEFGHIJ 


STR(A$,2) = STR(B$,2) 


"1BCDEFGHIJ 


STR(A$,2,2) = STR(B$,2,2) 


"1BC4567890 


A$ = STR(B$,2,3) 


"BCD 


STR(A$,2) = STR(B$,2,3) 


"1BCD567890 


STR(A$,2,2) = STR(B$,2,3) 


"1BC4567890 


STR(A$,2,2) = STR(B$,2,1) 


"1B34567890 



85 



COMMON VARIABLES 

Common variables can be defined using a COM statement (similar to DIM). They retain their 
values from one program to the next. The Menu uses a common variable to hold the file name of the 
program to be loaded while it is loading a keyed access subroutine package (see Chapter 6, page 91). 

Reorganize uses common variables to pass file names to the final reorganize program. 

BASIC SYNTAX 

In Wang BASIC, there can be more than one program statement on a line. Each statement 
except the last must be terminated with a colon. Thus, only the first statement on the line can (and 
must) have a line number. 

Wang's BASIC interpreter ignores spaces in program text, but we have included them for 
better readability. 

BASIC STATEMENTS 

Quite a few of the program statements used in this book are unique to Wang's extended 
BASIC. They are listed below in two groups: general and disk access statements. Each of these 
statements is shown in detail, along with alternate methods of performing the same function in stan- 
dard BASIC wherever practicable. The following symbols are used in statement descriptions: 



SYMBOL 



#n 
"name" 

argument list 

expression 

line number 

XX 

!) 
n 

variable 
image 



EXPLANATION 



Logical file number n. Used for data file identification. Example: #1 
One- to eight-character disk file name enclosed in quotes. Exam- 
ples: "G/L000", "G/LOF110" 

A series of alphanumeric and/or numeric variables and/or array names. Ex- 
ample: A$, B, C$0, DO 

A numeric expression. Example: A(1)*3.10-(Z/20) 
One- to four-digit BASIC line number. Example: 6000 
Two hexadecimal digits regarded as one byte of data. Examples: 0A, 5F, FF 
One of the enclosed items is required. 
The enclosed item is optional. 

An alphanumeric or numeric variable. Examples: A$, X0 
[±] [##...][.] [##-.] 
Further explanation at statements that use it 



GENERAL STATEMENTS 

® CONVERT expression TO alphanumeric variable, (image) 

Example: 100 CONVERT A*3 TO A$, (##.##) 

Convert the value of the numeric expression to an ASCII character string using the 
specified image. Images observe the following rules: 

1) Starting with a plus (+) sign puts the sign of the expression's value (+ or -) into the 
string. 

2) Starting with a minus (-) sign puts a blank for positive values or a minus (-) for negative 
values into the string. 

3) An unsigned image generates an unsigned string. 

4) The pre-decimal digits are right justified at the decimal point with zero fill. The post- 
decimal digits are left justified at the decimal point with zero fill. 

This command is generally used to facilitate manipulation of individual digits in a numeric 
value. You can usually isolate digits with a series of expressions that use the INT (integer) 
function. 



86 



• CONVERT alphanumeric variable TO numeric variable 

Example: CONVERT A$ TO A 

Convert the ASCII representation of a number to a numeric value. This statement can 
be used to change a number in ASCII format (isolated by the previous version of CONVERT) 
back into numeric form. 

• DEFFN' integer (variable [ , variable...]) 

Example: 100 DEFFN' 32(A3) 

Define the starting point of a marked subroutine. Marked subroutines can be called by 
using a GOSUB' statement (see GOSUB'). Additionally, subroutine '15 can be called by 
pressing SFK15 whenever keyboard input is allowed (see KEYIN). Marked subroutines can 
receive the values of parameters passed to them by the main program. The variables 
enclosed in parentheses that form the optional parameter list in the DEFFN' statement 
receive the values of corresponding arguments in the calling GOSUB' statement (see 
GOSUB'). These marked subroutines can be replaced by standard "line number" 
subroutines by removing the DEFFN' statement and changing the calling sequence as de- 
scribed under GOSUB'. 

• GOSUB' integer [ (subroutine argument [ , subroutine argument...])] 

Example: 200 GOSUB' 32(256) 

Branch to the subroutine marked by the corresponding DEFFN' statement. Then when 
a RETURN statement occurs, branch back to the statement following the GOSUB'. A 
subroutine argument can be an alphanumeric variable or a numeric expression. Subroutine 
arguments must agree in number and type with the parameter list in the DEFFN' statement. 
The easiest way to explain the interaction of these two lists is to illustrate how the num- 
bered subroutine could be replaced by a standard BASIC "line number" subroutine. 



Standard 


Wang 




100 A = X+Y 

110 B = 3 

120 C$ = "TAXABLE PAY " 

130 GOSUB 500 


130 GOSUB' 100 (X+Y.3,' 


'TAXABLE PAY ") 


500 PRINT C$;A+B 
510 RETURN 


490 DEFFN' 100 (A,B,C$) 
500 PRINT C$;A+B 
510 RETURN 





Both of the programs above do the same thing. Values are assigned to variables A,B and C$ 
prior to the subroutine call, but using different techniques. 

HEXPRINT / a 'P nanumer ' c variable 

\ alphanumeric array designator 

Example: 100 HEXPRINT A$ 

Print the hexadecimal representation of the characters in the alphanumeric variables. 



\ f;\ (alphanumeric variable I 1 

] \,j (alphanumeric array designator) ...[;] 



87 



%[ chr] fmt [ chr fmt...] 

where chr = any sequence of one or more printable characters (except #) 
"$" 



fmt 



+ 



Example 100 % -##.## LESS -## ## = -##.## 

Specify the format of printed output generated by the PRINTUSING statement, ac- 
cording to the following rules: 

1) Starting with a plus (+) sign causes the value's sign (+ or -) to print immediately pre- 
ceding the first digit. 

2) Starting with a minus (-) sign causes a blank for positive values or a minus (-) sign for 
negative values to print immediately preceding the first digit 

3) Starting with a dollar ($) sign causes a dollar sign to print immediately preceding the 
first digit. 

4) If neither a plus (+), minus (-), nor dollar ($) sign is used and the value is negative, a 
minus (-) sign is printed before printing the formatted value (the line is one character 
longer). 

5) Pre-decimal digits are right adjusted with blank fill. Post-decimal digits are left adjusted 
and truncated or zero filled. Values too large for the format cause the format specifica- 
tion to print (i.e., #'s are printed instead of digits). 

6) Alphanumeric values are left justified with blank fill or truncation on the right, 

/jXX V\ (alphanumeric variabie ) !~ (alphanumeric variable ) 

• INIT ^"character"// (alphanumeric array name/L, (alphanumeric array name/ .... 

Example; 100 INIT("A")A$ 

Initialize every character of each alphanumeric variable or array on the specified list 
to the character in parentheses. INIT can be replaced by one or more LET statements 
within a FOR/NEXT loop. 

• KEYilM alphanumeric variable, line number, line number 

Example: 385 KEYIN X$, 395, 525 

Accept a single character from the keyboard without echoing it to the CRT. It no 

character is ready, continue program execution with the next BASIC statement. If SFK15 
was pressed, continue program execution at the second line number. If any other key was 
pressed, continue execution at the first line number. Refer to the discussion of SFK's earlier 
in this chapter. 

• MUIV1 (alphanumeric variable) 
Example: 100X = NUM(A$) 

This built-in function determines the number of sequential valid numeric characters 
(that is, the digits through 9, £,.,+,-) in the specified alphanumeric variable. 



88 



.. (alphanumeric variable ) (numeric array \r (numeric array ) "1 

umagej '(alphanumeric array name/ ° (name expression/L.Wme expression/.. J 

Example: 100 PACK (##.##)A$() FROM A() 

Pack the numeric values from the specified numeric expressions into the specified 
alphanumeric variables, using the provided image, in binary coded decimal (BCD) for- 
mat. 

1) Each byte (i.e., each character) of the receiving alphanumeric variables can hold two 
digits. 

2) The sign (+ or -), if present, takes one-half byte. 

3) Absolute values are packed when no sign is specified. 

4) No decimal point is packed. The decimal point is restored by the UNPACK image. 

5) Post-decimal digits are truncated or zero filled as necessary, and pre-decimal digits are 
zero filled. 

PACK effectively reduces the amount of space needed to store numeric values. It can be 
omitted and the numeric values stored as numeric variables. 



PRINTUSING line number [ , print element <'\ ...] [; 



Example: 200 PRINTUSING 100AB.A-B 

Print the values of the print elements according to the format specified by the image 
located at the referenced line number. If there are more print elements than formats in 
the image statement, the image is reused starting with the first format. A PRINT statement 
can be used in place of a PRINTUSING statement, but columns will not line up as well. 

• SELECT select parameter [ .select parameter...] 

Example: 100 SELECT #1 B10.PRINT 215 

Select which disk to use in disk operations, or whether to print on CRT or printer. The 

CRT print speed can also be selected. 



.,,,..-„ ,. .(alphanumeric array name) __ 

* UNPACK (image){ a| P hanumer . c ^.^ } TO 



(numeric array name) 
(numeric variable 



(numeric array name 
, (numeric variable 



}J 



Example: 150 UNPACK(##.##)A$( ) TO A() 

Unpack numeric values packed in binary coded decimal (BCD) format by a PACK 
statement. 

DISK ACCESS STATEMENTS 

• DATALOAD DC [ #n,] argument list 

Example: 100 DATALOAD DC #1,J$() 

Read a logical data record from disk file #n (#0 if #n not specified) and assign the 
values to the variables in the argument list. Each time this statement is executed, the 
next sequential logical record is read from the data file. If there are more variables in the 
argument list than values in the logical record, another logical record is read. If there are 
more values than variables, the excess data is ignored. Executing this statement updates 
the current sector address for the file to the starting address of the next consecutive logical 
record. If an end-of-file record is encountered, the end-of-file condition is set. 

• DATALOAD DC OPEN T [ #n,] "name" 

Example: 100 DATALOAD DC OPEN T #1, ,, JOB" 

Open a data file for subsequent loading and saving of data. The logical file number 
specified (#n) is assigned to the file name provided. Subsequent references to the opened 
file are via the logical file number. Logical file is used if no logical file number is specified. 
Files are automatically closed when a program is ended. 



89 



® DATASAVE DC[ #n,] ( END * .. A 

' (argument list/ 

Example: 100 DATASAVE DC #1,J$() 

Write the values of the variables in the argument list onto the disk as one logical 
record. Start at the current sector address associated with the specified file. Specifying the 
END parameter causes an end-of-file record to be written. Update the file's current sector 
address to the sector following the last one written (except after END). 



• DBACKSPACE [ #n,] {""Z^:^ s } 



(BEG 
(expression S/ 

Example: 100 DBACKSPACE BEG 

If the BEG parameter is specified, set the current sector address to the beginning sec- 
tor address of the specified file. Otherwise, decrease the current sector address by 
the truncated value of the expression. 



® DSKIP [ #n,] !„„„„„!„„ of 
(expression S; 



(expression S; 
Example: 100 DSKIP 3*A S 

If the END parameter is specified, set the current sector address to the end-of-file 
record address for the specified file. Otherwise, increase the current sector address 
by the truncated value of the expression. 

® DATALOAD BA T [ #n,] (sector address, variable) alphanumeric array name 

Example: 100 DATALOAD BA T #3,A$() 

Read one sector (256 bytes) of unformatted data at the specified sector address. Set 

the variable to the next consecutive sector address after the read. 

• DATASAVE BA T [ #n,] (sector address, variable) alphanumeric array name 
Example: 100 DATASAVE BA T #3,A$() 

Write one sector (256 bytes) of unformatted data at the specified sector address. The 

variable receives the address of the next consecutive sector. 

» LifvliTS t fFii,i L "nsrne""j v8naoi6 i, vansuie *-, vsnsuie o 

Example: 100 LIMITS T #1,A.B,C 

If the file name is specified, variable 1 receives the file start address, variable 2 

receives the file end address and variable 3 receives the number of sectors currently 
used plus 2. If no name is used for the logical file number specified, variable 1 

receives the start address, variable 2 receives the end address and variable 3 

receives the current address. 

. ^.^ nMvr ^ i (alphanumeric variable) , ,. . „ r .. . _,, 

® LOAD DC T [ #n,] L^ ,, ? I ,hne number 1 [ ,hne number 2J] 

Example: LOAD DCT "G/L000" 

Load a program under program control by performing the following functions: 

1) Stop current program execution. 

2) Clear program lines from memory, starting with line number 1 and ending with line 
number 2. If line number 2 is not specified, clear all lines starting with line number 1. If 
no line numbers are specified, clear all program lines. 

3) Clear all non-common variables. 

4) Load the specified program. The program being loaded will be combined with any pro- 
gram lines present: a loading line replaces an existing line having the same line num- 
ber. 

5) Run the program now in memory, starting at the first specified line number (if none 
specified, start with the lowest line number in memory). 



90 



Chapter Six 
CHANGING GENERAL LEDGER 

The General Ledger programs in this book are fairly general purpose, but you still may want to (or 
have to) make changes to them. This chapter discusses some of the changes you can make, but in no 
way exhausts all possibilities for program modification. Before you attempt to make any changes, you 
should be thoroughly familiar with the standard version of General Ledger. This means knowing 
generally what each program does and how all of the programs work together. It also means knowing 
in detail just how each program you are going to change works. You must know what is on each data 
file, how the data files interact, and especially how the data files are used by the programs you intend 
to change. You will have to know how to change CRT masks. Finally, you will find that actually writ- 
ing the program changes will be much easier if you know how the various common subroutines work 
— including the keyed file accessing subroutines. 

Throughout this chapter, we identify programs both by their Menu name (for example, Reports or 
Account File Maintenance) and their program file name (for example, G/L040 or G/L050). The pro- 
gram listings in Chapter 8 are identified by program file name, 

PASSWORD 

One thing you are sure to want to change is the password. In Menu G/L000 line 6100, you will 
find a call to subroutine '37 requesting entry of the four-character password. The next line verifies the 
entry. Replace the letters PASS with your own password, and if your password is not four characters 
long, change the '37 subroutine call to input the correct length password. 

PROGRAMMABLE PROGRAM LOAD 

We took advantage of the Wang LOAD DC statement's ability to add new program lines to some 
or all of an existing program in developing the Menu program. The Menu loads programs in two 
steps. First, it loads a package of keyed access subroutines (according to the parameter in the 
Menu's DATA list), then it loads the main program. This way, the package of subroutines exists 
only once on the disk instead of being duplicated with each program that uses it. 

You can still use the Menu to control program loading even if your BASIC cannot combine 
programs under program control, as long as it can load another program under program control 

(first erasing the existing program). Change Menu G/L000 to disregard the subroutine package type 
code (in the DATA table), always loading just the actual program (not loading a set of subroutines 
first). Also, be sure that every program on the disk includes the keyed accessing subroutines it needs. 

If your BASIC has no provisions for programmable loading of other programs, you will not 
be able to use the Menu at all. In this case, you will have to load programs as you need them, by 
program file name or whatever scheme your computer system employs. You will have to change ev- 
ery program so that it stops when it is finished, rather than attempting to reload the Menu. 

TESTING FOR PRINTER READY 

Every program that prints a report tests the printer to make sure it is on and ready to print. 

The first step of the test is to display the bulletin PRINTER NOT READY on the CRT. Then the program 
tries to "print" non-printing character codes on the printer. If the printer is not ready, the computer 
waits in a state of suspended animation. As soon as the printer is ready, the non-printing character 
"prints" on the printer, the program clears the bulletin from the CRT, and the program continues. 

If your computer-printer interface does not go into suspended animation like this, you will have 
to omit or modify subroutine '60 in all programs that use it (see Table 7-B). 



91 



MULTIPLE COMPANIES 

General Ledger does not have the facilities for built-in multiple company operations the way the 
Payroll described in Payroll With Cost Accounting does. You can implement multiple company General 
Ledger operations by having separate General Ledger disks for each different company Of course, 
this actually means you have a separate General Ledger for each company, rather than one General 
Ledger for all companies 

FILE REORGANIZE 

The Account File Reorganize program (G/L060), described in Chapter 4 on page 81, automat- 
ically loads Wang's file reorganize utility subsystem starting with KFAM3503, which in turn loads 
other Wang reorganize subsystem modules. Wang provides the reorganize utilities with their Integr- 
ated Support System (ISS) They are described in the ISS user's manual 

KFAM3503 requires a work file the same size as the Account file, G/L0F1 10. The work file can be 
on a different disk than G/L0F1 10 If you do not have enough space for such a work file, you can use 
Wang's utility KFAM3003 instead of G/L060-KFAM3503-etc KFAM3003 is a stand-alone program 
that reorganizes the Account file in place The ISS manual provides operating instructions. 

If you do not have a Wang computer, use your computer's reorganize utility program. Some 
computer systems don't need file reorganize programs because they dynamically re-use space freed 
by record deletion Your file reorganize program may interface to G/L060, or you may have a stand- 
alone utility. 

CONVERTING KEYED ACCESSING TO RANDOM ACCESSING 

Some versions of BASIC are not capable of keyed accessing; you have to provide the exact loca- 
tion of the record you want to access. This poses no problem for sequentially accessed files (even if 
your program has to increment its own pointer to randomly access the next sequential record). 

The Account file is designed for keyed file accessing, with the Account Number field as the key 
Thus the account number has no direct relationship to the Account record's physical position on the 
Account file. In other words, there is no combination of addition, subtraction, multiplication, or divi- 
sion operations you can perform on an account number that will tell you where to find the corres- 
ponding Account record Instead, the account numbers logically group Account records Related ac- 
counts have similar account numbers. The chart of accounts in Table 3-C on page 15 illustrates this. 
For example, account numbers with a first digit of V are Asset accounts. Further, if the second digit is 
'5', they are Property and Equipment assets. If the third digit is '1', the accounts are Cost of property 
and equipment assets 

While this scheme is certainly useful, it is not indispensible Account numbers can be a function 
of the record number; in fact, the account number can be the same as the record number. You need 
make only minor program modifications to effect this change 

As published, the programs retrieve Account file data in a two-step process. First, they locate the 
desired record by executing a statement with the following format: 

GOSUB'13x ( ~- ) 

where x is a digit between and 9. The second step actually reads the data, and is executed with a 
statement with this format: 

DATA LOAD DC #1,L$.D$ 

With random accessing, there is no need for a subroutine to locate Account records, since the ac- 
count number directly specifies the record location. So you can delete all of the GOSUB' 1 3x ( /-v/>- ) 
statements. You must also replace the DATA LOAD DC statement with a statement or statements 
that will read the data for the record number specified by the account number 

In addition, there are some specific changes to the Reports program (G/L050). This program 
assumes that balance sheet accounts start with account number 10000.0 and that income and ex- 
pense statement accounts start with account number 30000.0. Change lines 6180 and 6200 to 
retrieve your first balance sheet account and income and expense statement account, respectively 



92 



This same program assumes that account number 99999.0 is a special record containing sales ac- 
count totals (see page 23). Change lines 6160 and 6670 to use the record number of your special 
sales account totals record instead. 

This scheme for random accessing of the Account file affects only the account numbering. You 
must still observe the other rules for setting up your chart of accounts in the Account file that we ex- 
plained in Chapter 3, Among other things, this means that Asset accounts must precede Liability ac- 
counts, which must precede Income accounts, which must precede Expense accounts. Report titles, 
headings, and totals must have Account records of their own. With random accessing it is even more 
important to draw up your chart of accounts carefully before entering it on the computer. The ac- 
counts will be numbered sequentially; their logical order on the Account file, and hence on the finan- 
cial reports, corresponds exactly with their physical order. 

With sequential accessing, there is no way to insert new records between adjacent existing 
records. You can always write a program to move the records around in the Account file, opening up 
space for records you need to add. But beware — if you move records around, their account numbers 
change. Figures 6-A and 6-B illustrate this. Notice on Figure 6-A that we want to insert a new total ac- 
count after account 175 Brochure Printing and Mailing. To do this, we must first move all accounts 
from 176 Outside Prep. Work on Ads onward down one space in the file. Figure 6-B shows the new 
record in place, with account number 176. Notice how all the accounts we moved down in the file 
have a new account number. 



168 Advertising 



175 Brochure Printing and Mailing 
1 76 Outside Prep. Work on Ads 
177 Other Advertising 




Figure 6-A. A New Account to Insert 



168 


Advertising 


175 


Brochure Printing and Mailing 


176 


Radio and Television 


177 


Outside Prep. Work on Ads 


178 


Other Advertising 



Figure 6-B. A New Account Inserted 

ADDITIONAL SOURCES OF EXTERNAL POSTINGS 

The General Ledger programs accept postings to any account from outside programs via the Ex- 
ternal Posting file. The programs in the Osborne & Associates publication Accounts Payable and Ac- 
counts Receivable use this file. Other application programs can make postings as well. Thus your 
Payroll, Order Entry, Inventory, Cash Receipts, and other programs can automatically update the 
General Ledger accounts. 



93 



Before you can prepare your program to make General Ledger postings, you must become 
familiar with the External Posting file layout on page 1 . The External Posting file is blocked 1 6 records 
per sector on the Wang computer, which is a hard-sectored system- You may not have to worry about 
sector boundaries and record blocking on your computer. But if you do, be sure your application pro- 
gram correctly blocks records on the External Posting file Furthermore, your program must put a in 
the Account Number fields of all unused records in a sector 

Always add your postings to the end of the External Posting file, and always write an end-of-file 
marker following the last posting or block of postings. 

The External Posting file layout lists the data items that your program must provide for each 
posting They are the General Ledger account number, a code describing the source of the posting, 
the month and day the posting is made, a six-digit reference number, and the posting amount. The 
General Ledger presently recognizes four source codes' for Payroll, 1 for Accounts Payable, 2 for Ac- 
counts Receivable, and 3 for General Ledger The General Ledger Update program (G/L030) prints a 
summary of postings by source code for each account on the update report. The report format permits 
only four source codes. If you decide to add more source codes, you will have to modify the update re- 
port in G/L030 

COST DETAIL FROM POSTING RECORDS 

You may want a detailed analysis of account activity over an extended period of time (i.e. more 
than one month on the update activity report) The very information you need goes by the board every 
month when the Update program (G/L030) erases the External Posting file. If you save the postings on 
a holding file during the Update program, they will be available when you want a long-term analysis. 
You will have to write a new program to sort the holding file by account number, date, etc., and to 
print a report based on the sort Also, you must purge the holding file periodically so that it does not 
overflow with postings during some Update. 

BUDGETING 

The General Ledger has no provision for budgeting You can add it First you must establish 
some new Account record fields which will keep track of budget amounts for each account There are 
three unused fields shown in the Account file layout (on page 6) which could be monthly, quarterly, 
and yearly budget amounts The variables for these three fields are S(8), SO), and S(10) 

You will want to make occasional adjustments to these fields, so you should change the Account 
File Maintenance program (G/L010) to include them. Account File Maintenance is useful for making 
changes to account balances now and then, but is too cumbersome to use for entering a monthly 
budget amount for every account, and it provides no audit trail. Therefore, you should write a new 
program or series of programs to enter monthly, quarterly, or yearly budget amounts, update the Ac- 
count file with these amounts, and print a report that details the activity. 

Finally, you will need a new report to print a budget analysis. This report will probably include 
budget amounts, actual amounts, and perhaps the actual amount as a percent of budget. The report 
could be a replacement for the existing "special" report in G/L040. That way you could use the 
Special Report field on each Account record to control which accounts would print on the budget 
analysis report The report could also be a new program. 

DEPARTMENTALIZING 

This General Ledger will support multiple departments, but only if you change the Account file 
contents and make some program changes. The easiest way to do this is to make the last digit of the 
account number be the department number. The Account file will have to be much larger since it 
must have enough room to hold one record for each department for each account that you depart- 
mentalize. Each Account record must identify which department it belongs to. Figures 6-C and 6-D il- 
lustrate this effect using part of the sample chart of accounts from Table 3-C. Figure 6-C shows part of 
the chart of accounts before departmentalization; Figure 6-D shows the same part of the chart of ac- 
counts after departmentalization. 



94 



43200.0/50 


Materials and Supplies 


43210.0/00 


Computer Materials and Supplies 


43220.0/00 


Raw Materials and Supplies 


43230.0/00 


Stationery Materials and Supplies 


43290.0/00 


Other Materials and Supplies 


43299.0/50 


Total 



Figure 6-C. Accounts Without Departmentalization 



43200.0/50 


Materials and Supplies 


43210.0/00 


Computer Materials and Supplies - General 


43210.1/00 


Computer Materials and Supplies - Department 1 


43210.2/00 


Computer Materials and Supplies - Department 2 


43220.0/00 


Raw Materials and Supplies - General 


43220.1/00 


Raw Materials and Supplies - Department 1 


43220.2/00 


Raw Materials and Supplies - Department 2 


43230.0/00 


Stationery Materials and Supplies - General 


43230.1/00 


Stationery Materials and Supplies - Department 1 


43230.2/00 


Stationery Materials and Supplies - Department 2 


43290.0/00 


Other Materials and Supplies - General 


43290.1/00 


Other Materials and Supplies - Department 1 


43290.2/00 


Other Materials and Supplies - Department 2 


43299.0/50 


Totals 



Figure 6-D. Accounts With Departmentalization 

Using this scheme to identify an account's department number limits program changes to the 
Reports program (G/L040). By making a few changes to this program, you can get separate financial 
reports for each department. The program must ask the operator for the department to report. Then as 
it goes through the Account file sequentially generating the report, it must bypass records for ac- 
counts that are not in the specified department, except that it should include all title, heading, and 
total records. The changes shown below for G/L040 will departmentalize the financial reports. You 
will also need to change the CRT mask 3 as shown on page 96, 

new line: 
6070 GOSUB'34(605, 1.0,9) 
:D=X0 

change line 6240: 

6240 GOSUB'110(2) 

IF L3>0THEN 6245 

IF D=0 THEN 6245 

IF DO (L1-INT(L1))«10 THEN 6220 
6245 IF R=2 THEN 6250 

IF L4<>S THEN 6660 



95 



MASKS 





i 


234567890 


1 


2 34 56 78 90 1 


2 34 5 67890 1 


234567890 


1 


23456 78901 


234 567 890 1 


23 












g|/|l 




REPORTS 














































































































1 




64 


~j~ 
















1 


















1 
























































































2 




128 


































































































































3 




192 




























































































































4 




256 


+1 


+ 




+ 




+ 




+ 




+ 


+ 




+ 




+ 




+ 




+ 




+ 




+■ 




+ 




+ 


k 




+ 




+ 




+ 




+ 


+ 




+ 




+ 




+ 




+- 




+• 




+• 




+ 




+• 




+ 




+ 




+ 






5 




320 


+1 


T 


Y P 


E 






















4- 




FORMAT 
















+ 




QUARTEJR 
















+ 


JMOVE 


















+ 






6 




384 


+| o|=|e|x 


1 T| 


MM! 


HI' 


=|i|n|co 


M|E 




st^t 


M "1- 


c u|r r|e n t 


J 






!+ J. 


=|M0Nrr 


HL.Y 


1 




4 






7 




448 


+ 




1 


= 


T 


R 


1 


A 


L 














+ 




2 


=|B A kAWCp 










+ 




1 


= 


1 


ST 




PREV 1 0US4- 




2 


= 


QUARTERLY 




+ 




8 








512 


+ 




2 


= 


S 


P 


E 


C 


1 


A 


L 












+ 




i 




+ 




+ 




+ 




+ 




+ 








+ 




2 


= 


2ND 




PREV 1 


0US + 




3 


= 


YEARLY 










+ 






9 






5 76 


+ 




3 


= 


M 





N 


T 


H 


L 


Y 
















DEPARTMENT 




* 




i+ 




3 


= |3RD 




PREV 1 0US+ 


























+ 






10 




640 


+ 




4 


= 





U 


A 


R 


T 


E 


R 


L 


Y 








+ 







= 


A 


L 


L 




DEPTS 








+ 
































+ 




























+- 






II 




m 




704 


+ 




5 


= 


M 





V 


El 


T 





T 


A 


L 


S 




+ 






















N 
































+ 




























+ 






12 




768 


+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+- 




+ 




+ 




+ 




+ 


K 




*\ 


+i 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 






13 




832 




























































































































14 


i 


896 




















1 


















1 


















1 








/ 










1 


















1 






























15 




960 



































































































































ADD' 



96 



Chapter Seven 
FILE AND PROGRAM INITIALIZATION 

This chapter lists the data files you must initialize and specifies what data you must put in 
them before you can begin regular processing. It also includes operating instructions for a 
stand-alone utility program that you can use to set up and subsequently modify CRT masks. In 
addition, you will find descriptions of standard subroutines that are used throughout the 
General Ledger programs. 

DATA FILE INITIALIZATION 

You must reserve space for the Account, External Posting, Direct Posting, General Infor- 
mation, and CRT Mask files on the disk in order to run the General Ledger programs. In addition, 
you must initialize each file. The following paragraphs describe each file's requirements 

The Account file must have room for one record for each regular General Ledger account, each 
financial report title, each financial report heading, and each financial report total There must also be 
a special record for totals of the sales accounts This is all explained in more detail in the "Setting Up 
the Chart of Accounts" section in Chapter 3 

The External Posting file must have room enough to store all the postings from external sources 
(e.g., Accounts Payable) that will occur in one month. If this is not possible, you will have to run the 
General Ledger Update program as the file becomes full Initialize this file by writing an end-of-file 
marker at the beginning of the file. 

The Direct Posting file must have enough room to hold as many postings as you will enter from 
the Direct Entry program (not from an external source) in one month. If this is not possible, you will 
have to run the General Ledger Update program more than once a month. Initialize this file by writing 
an end-of-file marker at the beginning of the file. 

The General Information file must have at least two records, and may have as many as eleven 
The General Ledger program will only use two records However, this file is compatible with the 
General Information file in the Osborne & Associates books Payroll With Cost Accounting and Accounts 
Payable and Accounts Receivable. General Ledger's General Information file has one more field than the 
file in the other books, the Fiscal Year Ends field. The changes necessary to adapt the Payroll, Ac- 
counts Payable, and Accounts Receivable programs to use General Ledger's General Information file 
are discussed later in this chapter. Initialize every field of each record in the General Information file to 
zero, then use the General Information File Maintenance program to fill in the real data. 

The CRT Mask file must have room for six records. When you first define this file, place an end- 
of-file record at the beginning of the file. Then enter the masks using the CRT Mask File Maintenance 
program. The CRT layouts at the end of this chapter show the exact positioning of text on the masks, 

COMMON SUBROUTINES 

There are a number of subroutines that are commonly used throughout the General Ledger 
programs. The common subroutines each program uses are not included in its listing in Chapter 
8. Instead, the common subroutines are listed together in one place in Chapter 8 as program G/L 
SUBS. This means as you enter each program into your computer, you must include the 
subroutines it needs from the G/L SUBS program listing. 

Table 7-A lists the subroutines, the lines they occupy, and brief descriptions of each one's pur- 
pose. Table 7-B shows which subroutines each of the General Ledger programs uses. Note that 
whenever a program uses a special version of a common subroutine, that special version is included 
with the program listing; do not replace it with the standard version from G/L SUBS, You can use the 
two tables to determine which program lines from G/L SUBS each General Ledger program will need. 
For example, Table 7-B shows that program G/L030 uses common subroutines '40, '72, '42, '41, '60, 

97 



'130, '132, '139, '1 10, '1 1 1, and '112. It also uses a special version of subroutine '1 13, but the listina 
for this special version is included in the listing for G/L030. Turning to Table 7-A, we can list the line 
numbers each of the common subroutines uses: 

'40 lines 690-695 '130 lines 2000-21 10 
'72 lines 691-695 '132 lines 2010-21 10 
'42 lines 700-705 '139 lines 2030-2110 
'41 lines 820-840 '110 lines 3500-3510 
'60 line 1000 '111 line 3550 

'112 lines 3600-3630 

Consolidating these line numbers, we see that program G/L030 needs the common subroutines on 
lines 690-705, 820-840, 1000, 2000-2110, and 3500-3630. 

biic iiiuic i.uiili|picA i>uiniiiuii suuiuuiiiico die iucu »iy yueaieu Otjicsii ueiiiw. »5><sv«Siri ui 

these subroutines are used to access the Account file by key. Keyed file accessing, as described 
in Chapter 2, is a way of locating specific data records by looking up the unique, identifying field of 
data (the key) in an index that cross references the key with the actual record location. Subroutines 
'130 through '139 inquire into and manipulate the index of keys. These subroutines, nominally lo- 
cated between lines 2000 and 21 10, all transfer program control immediately to lines between 100 
and 199. 

Program lines 100 through 199, which perform the actual keyed accessing, are not fur- 
nished with this book. If you own a Wang computer, you can use their KFAM-3 keyed accessing 
subroutines, modules KFAM0003 and KFAM0103 You must modify both modules slightly to work 
with the General Ledger programs, as follows: 

1) Change COM statements to DIM statements (Remove non-array numeric variables 
from COM statements.) 

2) Renumber to start at line 100 and end by line 199 (line 101 must have only a RETURN 
statement on it). 

3) Add these two lines: 
1 GOTO 6000 

6000 LOAD DC T P$ 6000 

KFAM0003 and KFAM0103 only locate desired records; data transfer is accomplished in the main 

o.-., -.! i .-.,!„.-.,. .-....-.,.,.„.-.-.., !/c A !\ /innno „.-.,i i/c a i\ .10.1 no ,j,.i.-. :„,. it,... i ,..:. r !...,: j _ _j i 

ucnciai Lcuyci piuyianio. i\i nuiuuuu anu i\i /-mviu iuj uctciinnic n ic iuoanui! ui a ueiiicu icuuiu aiiu 

position the disk in preparation for the next DATA LOAD or DATA SAVE statement. All simple and ar- 
ray variables beginning with the letters Q, T, and V, both numeric and alphanumeric, are reserved for 
these program modules. 

If you do not have a Wang computer, you will have to convert the General Ledger programs 
to use your computer's keyed file accessing (also called indexed sequential accessing). Alter- 
natively, Ohapter S doscrsbos a way to use random accessing on the Account file. 

Here is an explanation of the more complex subroutines: 

'32(AD - Position the CRT to location A1. The CRT has 1024 different location! numbered from to 
1023. The first line contains locations 0-63, the second line has locations 64-127, and so 
on. 

'34(X1,X2,X3,X4) - Input alphanumeric data. The data is input at CRT location XT X2 specifies the 
maximum number of characters that may be input, including sign and decimal point for 
numeric entry. If X4 is zero, alphanumeric input is specified and X0$ returns the entered 
value. When numeric entry is indicated (X4 non-zero), entered values must be greater than 
or equal to X3 and less than or equal to X4. Numeric entry is returned in X0. All entry is 
terminated by pressing the RETURN key. Pressing the BACKSPACE key erases and allows 
re-entry of the last entered character. Pressing the LINE ERASE key erases and restarts the 
current entry. If SFK15 is pressed, program execution transfers to the Menu. 

'35(X2$) -- Flash the error bulletin X2$ on the fourth line of the CRT. 

*36(A2) — Without erasing existing characters, advance the CRT cursor A2 spaces (i.e., move it to the 
right) 



98 



Table 7-A. Summary of C 


ommon Subroutines 


Number 


Lines 


Purpose 


32(A1) 


200 - 


215 


CRT Cursor Position 


33(A1) 


240 - 


260 


CRT Mask Load/Display 


34(X1,X2.X3,X4) 


310 - 


525 


Input Data at Location X1 


35(X2$) 


615 




Display Error Bulletin 


36(A2) 


215 




Non-erasing Horizontal Tab (CRT) 


37(X2,X3,X4,X4$) 


660 - 


665 


Input with Prompt Message 


38(A4) 


670 - 


675 


Input Date at Location A4 


39(A1,X0$) 


680 - 


695 


Display Packed Date at Location A1 


40(X0$) 


690 - 


695 


Print Packed Date 


41(X4$,A1) 


820 - 


840 


Print Report Headings as Needed 


42(A1) 


700 - 


705 


Load and Unpack Company A1 


43(A1) 


720 




Pack, Save Company A1 


46(A1,X0) 


760 - 


770 


Display Phone Number at Location A1 


47(X0) 


770 




Print Phone Number 


60 


1000 




Check for Printer Ready 


72(X0) 


691 - 


695 


Print Numeric Date 


110IA1) 


3500 - 


3510 


Load, Unpack Account Record 


11KA1) 


3550 




Pack, Save Account Record 


112(A1) 


3600 - 


3630 


Load, Unpack Posting Record 


113IA1) 


3650 - 


3680 


Pack, Save Posting Record 


130(T6,T7,Q2,Q3,V7$) 


2000 - 


2110 


Open File for Keyed Accessing 


131(T6,T1$) 


2005 - 


2110 


Delete Record from Keyed File 


132(T6,T1$) 


2010 - 


2110 


Find Record in Keyed File 


133(T6,T1$) 


2015 - 


2110 


Add Record to Keyed File 


135(T6) 


2020 - 


2110 


Find First Record in Keyed File 


137(T6) 


2025 - 


2110 


Find Next Record in Keyed File 


139IT6) 


2030 - 


2110 


Close File for Keyed Accessing 



'37(X2,X3,X4,X4$) -- Display operator prompt message X4$ on the second line of the CRT. Input 
numeric or alphanumeric data on the third line of the CRT. Except for the input location, 
the description of subroutine '34 applies to this subroutine also. 

'38(A4) -- Use subroutine '34 to input a six-digit date at CRT location A4. The first two digits are the 
month number (must be between 1 and 1 2), the next two digits are the day number (must 
be between 1 and 31), and the last two digits are the year number. The entered date is 
returned as a numeric value in XO and as a packed numeric value in X3$, The entered date 
is redisplayed with slashes separating the month and day, and day and year. 

'39(A1,X0$) -- Display, at CRT location A1, the date packed in X0$. Separate month and day, and 
day and year with slashes. 

'40(X0$) -- Print the date packed in X0$. Separate the month and day, and day and year with slashes. 

'41 (X4$,A1) -- Check the line counter to see if the current report page has been filled. If so, advance 
to the next page, increment the page counter, print the report headings, and reset the line 
counter. X4$ is the report title. A1 is the report width, in columns. 

'42(A1) -- Load and unpack the system General Information record. If A1 is not zero, load and unpack 
the General Information record for company number A1. 

'43(AD -- Pack and save the system General Information record. If A1 is not zero, pack and save the 
General Information record for company number A1. 

'72(X0) -- Print or display numeric date XO, with slashes separating month and day, and day and 
year. 

"130(T6,T7,Q2,Q3,V7$) -- Performs a DATA LOAD DC OPEN for data file V7$ and its companion in- 
dex file, T6 is a file identification number (must be between 1 and 3) that is associated 
with the newly opened data file and is used to reference that data file in subsequent calls 
to keyed accessing subroutines. T7 is the logical file number assigned to the index file. Q2 
is the logical file number assigned to the data file. 03 must always receive the value 1. 
This subroutine must be executed for each data file that is to be key accessed before any 
of the other keyed accessing subroutines can be used. Upon return, status variable Q$ can 
either be blank (subroutine executed OK) or X (one of the parameters passed was incor- 
rect). 



99 



'131 (T6.T1 $) -- Deletes key T1 $ from the index for file T6. Locates the data record for key T1 $ in data 
me fo, out aoes not alter that aata record, nor remove it trom the tile. Deleting the key 
from the index file effectively prevents further accessing of its associated data record. 
Upon return, status variable Q$ can be blank (subroutine executed OK), N (key T1$ is not 
in index) or X (improper parameters). 

'132(T6,T1$) -- Locates the data record for key T1$ on data file T6. If the key cannot be found, the 
file's current sector address is set to the location of the record with the key that im- 
mediately precedes the position key T1$ would occupy, were it in the index. Upon return, 
status variable Q$ can be blank (subroutine executed OK), N (key T1$ is not in index) or X 
(improper parameters) 

'133(T6, T1$) -- Key T1$ is added to the index for file T6. The file's current sector address is set to the 
next available location on the data file. Upon return, status variable Q$ can be blank 
(subroutine executed OK), D (T1$ duplicates a key already in the index), S (no more room 
available either in the data file or the index for more records or keys) or X (improper 
parameters). 

'135(T6) — Locates the record with the lowest key in the index for file T6. Upon return, status variable 
Q$ can be blank (subroutine executed OK), N (no records on file) or X (improper 
parameters). 

'137(T6) -- Locates the record with the key that sequentially follows the last record accessed on file 
T6. This subroutine must not be the first keyed accessing subroutine executed after open- 
ing file T6 (by executing subroutine '130). This subroutine has unpredictable results if it is 
the first keyed accessing subroutine executed following a keyed accessing subroutine that 
returned a non-blank (error condition) status code for file T6. It will work properly follow- 
ing subroutine '132 with a return code of N (key not in index), though. Upon return, status 
variable Q$ can be blank (subroutine executed OK), E (end-of-file, the last record accessed 
had the highest key in the index) or X (improper parameters). 

'139 (T6) -- Closes currently opened file T6 and its companion index file. File identifier T6 and logical 
file numbers T7 and Q2 (assigned in subroutine '1 30) are then available for reuse. Follow- 
ing execution of this subroutine, T6 cannot be used to reference the data file opened 
against it in subroutine '130. Upon return, status variable Q$ can be blank (subroutine ex- 
ecuted OK) or X (improper parameters). 



Table 7-B. Common Subroutine Usaqe 



G/LOOO 
G/LO10 
G/L020 
G/L030 
G/L040 
G/L050 
G/L060 
G/L070 































































4 


H 


h d 


k 


<f 


h <i 


k A 


h 


A 


\ 






/■ 


M 


►- 


H 


t> A, 












q 


p q 








j> ^ 




J 






<q 


Y ^Sr 














J 




I 1 


n 


1 


















































•> 


r x 


r-% 


M 


r \ 


r 












































































































t^TTTTT" 


























3 


2 36 3 


3 3 


* 3 


5 3 


7 3 


8 3 


9 4 


7 


2 4 


2 4 


3 4 


1 6 


13 


° 


13 


2 


13 


5 


13 


9 


11 


1 


11 


3 



131 133 137 110 112 



Subroutine 



% 



common subroutine 

special version of common subroutine 



100 



FILE REORGANIZE 

The Account File Reorganize program (G/L060) is designed to use Wang Laboratories' 
KFAM file reorganize sub-system. Wang's Integrated Support System (ISS) manual describes the 
sub-system in detail. The sub-system includes ISS program modules KFAM3503, KFAM3603, 
KFAM3703, and KFAM0103. In order to use this sub-system with the General Ledger programs, you 
must rename KFAM0103 to KFAM3803 (i.e. program KFAM0103 must exist on your disk as 
KFAM3803). Also, you must change line 3072 of KFAM3503 to: 

3072 LOAD DC T #0, "KFAM3803" 3072,3072 

COORDINATING WITH PAYROLL, ACCOUNTS PAYABLE, 
AND ACCOUNTS RECEIVABLE 

The General Information file (G/IOF010) in this book is the same as the General Information 
file in the Payroll With Cost Accounting and Accounts Payable and Accounts Receivable books, except 
that this General Information file has an additional field, the Fiscal Year Ends field. Payroll, Ac- 
counts Payable, and Accounts Receivable can use this General Information file, but you must replace 
their General Information File Maintenance programs (P/R010 and A/P110) with program G/L070. 
You must also use common subroutines '42 and '43 from G/L SUBS in all Payroll, Accounts Payable, 
and Accounts Receivable programs that use them (refer to Table 7-G in the Payroll With Cost Account- 
ing and Accounts Payable and Accounts Receivable books) 

As discussed in other chapters of this book, General Ledger will accept postings to any ac- 
count from external sources. The Accounts Payable and Accounts Receivable programs in the 
Osborne & Associates book Accounts Payable and Accounts Receivable are specifically designed to 
interface with the General Ledger programs. For this interface to work, you must set up your disks 
so that the Account file (G/L0F1 10) and the External Posting file (G/L0F020) are on-line whenever the 
Accounts Payable Transaction Entry, Accounts Payable Update, Accounts Payable Check Calculate, 
Accounts Payable Transaction File Maintenance, and Accounts Receivable Update programs are run- 
ning. These files must also be on-line when the General Ledger programs are running, of course. 

To activate the link between General Ledger and Accounts Payable and Accounts Receivable, 
you must replace subroutine '1 1 3 on lines 3650-3660 in programs A/P030, A/P040, and A/R030 with 
subroutine '1 1 3 on lines 3650-3680 from G/L SUBS in this book. You must also delete some Accounts 
Payable and Accounts Receivable program lines as follows: 

Program A/P010, delete lines 5415, 6055, 6403. 

Program A/P030, delete line 6025. 

Program A/P040, delete line 6025 

Program A/P120, delete lines 5415, 6055, 6403. 

Program A/R030, delete line 6010, 



101 



CRT MASK FILE MAINTENANCE PROGRAM (CRTFM) OPERATING INSTRUCTIONS 



CRTFM 



PROGRAM: CRT Mask File Maintenance 

PURPOSE: Add, inspect, modify, or print CRT Masks. 

WHEN: At setup time or as needed. 

TO EXIT: Enter an operation code of 0, or SFK15. 

Load and execute the CRTFM program. 



ENTER IF FILE IS ON (F)IXED OR (R)EMOVABLE 
1) Select file location (F,R) 

F - CRT Mask file is on the fixed disk (disk address 310) Proceed to step 2. 

R - CRT Mask file is on the removable disk (disk address B10) Proceed to step 2 



ENTER NAME OF FILE 

2) Enter the name of the CRT mask file. 

The standard name for the General Ledger CRT Mask file is CRT3, 

If the file is located, proceed to step 3 

If the file is not located, an error will result Start the program over 



102 



CRT 7-C 



CRT MASK FILE MAINTENANCE 
ENTER OPERATION CODE 

<bul letin> 

(O)END 

(DINauiRE 

(2)CHANGE-ADD-REPLACE 

(3)PRINT 



SELECT OPERATION 

The display appears as CRT 7-C. 
3) Enter operation code (0-3) 

- END. You must enter '0'; you cannot simply enter RETURN The program ends 

1 - INQUIRE. Inspect current contents of any or all CRT Mask records Proceed to step 4 

2 - CHANGE-ADD-REPLACE. Modify the current contents of any CRT Mask record Proceed to step 5. 

3 - PRINT. Print (on a line printer) CRT Mask records. Proceed to step 9. 



103 



Wtti /-U 



* D 1" MAC!/ *T 



nnSrs rut HWUIKJ 
ENTER FIRST MASK NUMBER 

<bul letin> 



The display appears as CRi 7-D. 

4) Enter mask number (On) 

O - The first mask on file is displayed (mask 1). 

n - Display the mask at this record location on the file. 

If this number is greater than the number of records on file, a new operation is requested; return to step 3 

Otherwise, the requested mask is displayed You then have two options: 

[RETURN] - You can see the next sequential mask on the file by pressing the RETURN key. Continue 
pressing [RETURN] until you have seen all you want; then press [E]. Or, if you key [RETURN] until 
there are no more records to be seen, the program automatically requests a new operation; return 
to step 3 

[E] - Press the [E] key to end the INQUIRE operation Do not press [RETURN] after [E] A new operation 
is requested, return to step 3 



104 



CRT 7-E 



CRT MASK FILE CHANGE-ADD-REPLACE 

ENTER MASK NUMBER TO CHANGE (OR NEW) 

?_ 

<bul letin> 



OPERATION IS CHANGE-ADD-REPLACE 

The display appears as CRT 7-E. 
5) Enter mask number (1-999, NEW) 

1-999 - Request to change the contents of the mask at this record location on the file 

If this number is greater than the number of records on file, a new mask number is requested, repeat this 
step 

Otherwise, you may continue the requested operation, proceed to step 6 

NEW - Create a new mask. It will be recorded at the next record location on the file After this step, a new 
mask is entered as "changes"; proceed to step 6 



Specify Location to Start Changes 

LINE OR COMPOUND POSITION TO START CHANGES 
6) Enter line number (0-15) or compound position (16-1023) 

0-15 - Row number in which to start changes A column number is also requested; proceed to step 7 

16-1023 - Request to start changes at this space location on the display A compound location is found by 
numbering each space on the mask, the first line containing spaces 0-63, the second line spaces 64-127, 
and so on Enter mask changes; proceed to step 8 



105 



pmtfr mi I IMM Ml II^RCR 

7) Enter column number (0-63) 

Request to start changes at the row and column specified. Enter mask changes; proceed to step 8. 

8) Change/create a mask. 

The cursor will move to the location you have specified. Change the displayed text by typing 
new characters directly over the old ones. There are several keys that perform special editing func- 
tions during the text replacement process: 

RETURN - If you press this key on the last line, changes to the current mask end and you are asked for another 
mask number to change, return to step 5 Otherwise, the cursor moves to the first column on the next line 
and you can continue changes there 

PI M - Changes to this mask end. If the mask is NEW, it is saved at the next location on the file Otherwise, this 
mask replaces the mask previously at the record location selected to change You are asked for another 
mask number to change; return to step 5 

BACKSPACE - Each time you press this key, the cursor moves one space to the left without erasing any charac- 
ters Pressing this key when the cursor is at the first position on any line has no effect 

PRINT - Without erasing any existing characters, the cursor moves one space to the right If you press this key 
at the end of a line, the cursor moves to the first column on the next line 

COS( - The cursor stays in the same column but moves one line down If you press this key on the last line, 
changes to this mask end and you are asked for another mask number to change 

SIN{ - The cursor stays in the same column but moves one line up Pressing this key when the cursor is on the 
first line has no effect 



106 



CRT 7-F 



CRT MASK FILE PRINT 

ENTER FIRST MASK NUMBER (0 IF NONE) 

7 

<b u I letin> 



OPERATION IS PRINT 

The display appears as CRT 7-F. 

9) Enter first mask number (0-999. SFK14) 

- End the PRINT operation. You must enter the character '0'; simply pressing [RETURN] will not perform this 

function here. A new operation is requested; return to step 3, 
1-999 - Begin printing mask templates with this mask record number. Proceed to step 10 
SFK14 - End the PRINT operation. A new operation is requested; return to step 3 

ENTER LAST MASK NUMBER 

10) Enter mask number (first mask number - 999, SFK14). 

Mask number - End printing with this mask number. The selected masks will be printed Make sure your 

printer is turned on and ready to print. When printing is completed, a new mask print range is requested; 

return to step 9. 
SFK14 - End the PRINT operation. (If the actual printing of the mask is in process when SFK14 is pressed, the 

printing will stop and SFK14 will become effective immediately thereafter ) A new operation is requested; 

return to step 3 



107 



CRT MASK LAYOUTS 

The following pages illustrate these CRT mask layouts: 

1. Menu 

2. G/L Direct Posting Entry/Print 

3. G/L Reports 

4 G/L Account File Maintenance 

5. General Information File Maintenance 

Use the utility program CRTFM (instructions provided on page 102) to initialize these 
masks. 



MASK 1 






i 


i 

23456 7890 


2 
1 2345678 90 1 


3 
2 34 5678901 


4 
2345 678901 


5 6 
2345678901 234567890 


1 


23 












G 


/ 


L 




P 


R 





G 


R 


A 


M 




S 


E 


L 


E 


C 


T 


1 





N 




MENU 
















































































1 




64 






























































































































2 




128 




























































































































3 




192 






























































































































4 




256 


1 


) 




6 


E 


N 


E 


R 


A 


L 




1 


N 


F 





R 


M 


A 


T 


10 


tg 




F 


/ 


M 












































































5 




320 


2 


) 




D 


1 


R 


E 


C 


T 


P 





S 


T 


1 


N 


G 


























































































6 




384 


3 


) 




p 





S 


T 


1 


N 


* 


U 


P 


D 


A 


~ 


E 




























































i 
1 


























7 




448 


4 


) 




R 


E 


P 





R 


T 


* 










































































































8 




512 


5 


) 




A 


C 


c 





U 


N 


T 




F 


1 


L 


E 




M 


A 


1 


N 


T 


E 


N 


A 


N 


C 


E 














































































9 




576 


6 


) 




A 


C 


c 





U 


N 


T 


F 


1 


L 


E 




R 


E 





RG 


A 


N 


1 


Z 


E 












































































10 




640 


































































































































II 




704 
































































































































12 




768 


II 1 1 1 1 1 II ! 1 1 1 1 1 1 1 1 1 ! 1 I 1 1 1 1 1 1 1 ! 1 1 1 1 1 1 1 1 1 1 1 I 1 1 1 1 1 1 ! ! 1 1 1 1 I 1 1 1 1 ! 1 1 1 








832 


13 


























































































































14 




896 




























































































































15 




960 




















1 














































































1 


















1 









108 



MASK 2 






1 


1 
234567890 


1 


2 
2345678 90 1 


3 

2 34 5678901 


4 

234567890 


1 


5 6 
23456 7890 1234 567 890 1 


23 












G/L 




D 1 RECT 




POST 1 


N6 




ENTRY/PR 1 NT 








































































1 




64 




















1 








































































































2 




128 




























































































































3 




192 




























































































































4 




256 


ACCOUNT 




















































































































5 




320 


1 


) 


D 


A 


T 


E 










































































































6 




384 


2 


) 


R 


E 


F 


E 


R 


E 


N 


C 


E 




































OPEN 1 


NG 




BALANCE 














































7 




448 


3 


) 


A 


H 





U 


N 


T 






































CLOSI 


NG 




BALAJNCE 














































8 




512 




































































































































9 




576 
























































































































10 




640 


































































































































II 




704 
































































































































12 




768 




























































































































13 




832 


























































































































14 




896 






























































































































15 




960 
























































































































1 









MASK 3 


1 
0123456 7890 


1 


2 

2345678 90 1 


3 

2 34 567890 


1 


4 
2 345 67890 


1 


23456 7890 1234 567 890 1 


23 












G 


/ 


L 




R 


E 


P 





R 


T 


s 














































































































1 




64 




























































































































2 




128 




















1 








































































































3 




192 






























































































































4 




256 


+ 




+ 




+ 




+ 




+ 




+• 




+ 




+ 




+ 




+ 


+ 




+ 




•H 




+ 




+ 


+- 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




+ 




4- 




+ 




+ 






5 




320 


t 




T 


Y 


P 


E 




















f 




F 


OR 


M 


A 


T 
















+ 







U 


A 


R 


T 


ER 
















+ 




u 





V 


E 
















+ 






6 




384 


+ 







= 


E 


X 


1 


T 


















+ 




1 


= 


i 


N 


C 





M 


E 




S 


T 


MT 




+• 







•» 


C 


U 


R 


RE 


N 


T 












+ 




1 


= 


M 





N 


T 


H 


L 


Y 








+ 






7 




448 


+ 




1 


= 


T 


R 


1 


A 


L 














+ 




2 


= B 


A 


L 


A 


N 


C 


E 










+ 




1 


= 


1 


S 


T 




P 


R 


E 


V 


1 





u 


s 


4- 


* 


= 


Q 


U 


A 


R 


T 


E 


R 


LY 




+ 






8 




512 


+ 




2 


= 


S 


P 


E 


C 


1 


A 


L 












•f 
































+ 




2 


= 


2 


N 


D 




P 


R 


E 


V 


1 





u 


s 


+ 




3 


= 


Y 


E 


A 


R 


L 


Y 










+ 






9 




576 


+ 




3 


= 


M 





N 


T 


H 


LY 












+ 




























+• 




3 


= 


3 


R 





P 


R 


E 


V 


1 





u 


s 


+ 
























+ 






10 




640 


+ 




4 


= 





U 


A 


R 


T 


E 


R 


L 


Y 








+ 






























+ 
































+ 




























+• 






II 




704 


+ 




5 


= 


M 





V 


E 




T 





T 


A 


L 


S 




+ 






























+ 






























+ 




























+ 






12 




768 


+ 




+ 




+ 




+ 




+ 


k 




+ 




+ 




+ 




+ 


h- 




+ 




+ 




+ 




+ 


K 




+ 




+• 




+ 




+ 




+ 




+ 




+ 




+ 




+ 


♦ 




+ 




+ 




+ 




+ 


V 




+ 






13 




832 
























































































































14 




896 




























































































































15 




960 



































































































































109 



MA Bit A 





. 


r. 


•». 


r 


*■ 


r 


-> 


f* 


« 


1 


. 


-> 


7 


». 


C 


jC 


"7 


□ 


o 


2 


, 


i 


"* 


>!, 


C 


s 


7 


p 


o 


3 


t 


9 


* 


4 


K 


a 


"7 


O 


O 


4 
n 


i 


? 


■*. 


A 


C 


C 


7 


O 


o 


5 


. 


O 


■a 


/l 


K 


C 


7 


O 


6 


. 


o 


1 












G/L 




ACCOUNT 




Fl LE 




MAI 


NTENANCE 












































































1 




64 




























































































































2 


■ -■■■■■■■ ■ ■■ ■ ...... t . .. . . 


128 




















1 










































































































3 




192 


































































































































4 




256 


A 


C 


c 





U 


N 


T 




















/ 




































9 )TH 1 S 




MONTH 




































5 




320 


1 


) 




A 


m|e 












































1 
i 










! )TK|7s 




YEAR 


































6 




384 


2 


) 


A 


C 


c 





U 


N 


T 


JTYPE 








































1 


1 


(THIS 




QTR 






































7 




448 


3|) 


R 


E 


p 


OR 


T 




FT 


PE 


































12)1 sjt| |prev 




QT 


R l 1 














1 










8 




512 


4 


) 


N 





R 


M 


A 


L 




BA 


L 


A 


N 


C 


E 








































1 3) 2ND 




PREV 




QTR 
































9 




576 


5 


) 


T 





T 


A 


L 




L 


E 


V 


E 


L 












































1 4) 3 RID 




PREV 




QTR 




























10 




640 


6 


) 


E 


X 


T 


R 


A 




L 


1 


N 


E 




A 





V 








































1 5) LAST 




YEAR 




































II 




704 


7 


) 


S 


A 


L 


E 


S 




A 


C 


C 





U 


N 


T 




































































































12 




768 


8 


) 


S 


P 


E 


C 


1 


A 


L 


R 


E 


P 





R 


T 


























































































13 




832 
























































































































14 




896 




















i 




































































































15 




960 
























































































































1 









/W4SK5 







l 


1 
234567890 


1 


2 

2 3456 78 90 1 


3 
2 345 67890 1 


4 
234567890 


1 


5 
23456 78901 


6 

234 567 890 1 


23 












G 


E 


N 


E 


R 


A 


L 




1 


N 


F 





R 


M 


A 


T 


1 





N 




F 


1 


L 


E 




M 


A 


1 


N 


T 


E 


N 


A 


N 


C 


E 




























































1 




64 


E 


N 


T 


E 


R 




F 


1 


E 


lJd 




T 







C 


H 


A 


N 


g|e 




{ 


1 


6 




T 







p|r 


1 


N 


T 


i 









T 


°| 


E 


X 


1 


T 


) 




























I 










2 




128 


! I I 

! ! 1 


MM!!! 

! ! 1 ! ! ! 1 


I 1 I 1 MM 1 

I ! ! .LLLM L 


Mil! 

MM! 


!!!!!!! 

1 ! I ! M ! 


1 
1 


r I ! I T 1 1 ! 1 1 I 1 I 

'Ml 1 IN nil II 1 III !l 


I 1 

1 1 ■ 




3 




192 




























































































































4 




256 


l 


) 




C 





M 


P 


A 


N 


A 


N 


u 


M 


B 


E 


R 


























1 


1 


) 




T 





D 


A 


Y 


■ S 




D 


A 


T 


E 






































5 




320 


2 


) 




N 


E 


X 


T 




P 


/|r 




C 


H 


E 


C 


K 
























' 


2 


) 




P 


E 


R 


1 








S 


T 


A 


R 


T 






































a 




384 


3 


) 









t|. 




R 


AjT 


E 
















1 


















' 


3 


) 




P 


E 


R 


1 





dI 

1 


E 


N 













1 

i 








1 
1 






















7 




448 


4 


) 




H 





u 


R 


L 


Y 


« 


A 


T 


E 






























■ 


4 


) 




P 


A 


Y 


R 





4- 




N 


U 


M 


B 


E 


R 
































8 




512 


5 


) 




F 


1 


s 


C 


A 


L 




Y 


R 




E 


N 


D 


S 




























1 


5 


) 




D 


A 


Y 




N 


u 


M 


B 


E 


R 












































9 




576 


6 


) 




C 





M 


P 


A 


N 


* 


N 


A 


M 


E 




























































































10 




640 


7 


) 




















A 


D 





R 




































































































II 




704 


8 


) 
































































































































12 




768 


9 


) 
















1 


















I 




































1 










1 1 II 1 


















1 










13 




832 


1 





* 


E 


D 


/ 


S 


T 


Ah- 


E 




N 





S 


























































































14 




3S6 








































1 
1 






















































































15 




960 






I ! 1 




1 


1 




II 






1 1 1 1 




| 










II 


| 




| 






II 






















| 


| 






II 









110 



Chapter Eight 
PROGRAM LISTINGS 

This chapter contains the complete program listings for General Ledger. Each program list- 
ing has four parts. The first part contains the actual program lines. The second part lists the line 
numbers that are referenced somewhere in the program by various BASIC statements (GOTO, 
GOSUB, PRINTUSING, etc.), and the numbers of the referencing lines. The third part lists the 
variables that are referenced and the numbers of the referencing lines. The fourth part lists 
references to marked subroutines (i.e., defined by DEFFIM' statements) and the numbers of the 
referencing lines. 

There are several BASIC statements on most of the program lines. If your computer does not 
allow multiple statement lines, you will have to assign line numbers to the statements that fall be- 
tween the existing line numbers. To facilitate this, and to improve readability, the programs are 
listed with only one statement on each printed line. Each line number is printed at the left margin 
and is followed by the first statement on that program line. Additional program statements from the 
same program line are then printed, one to a printed line, each preceded by a colon. 

If you have to assign line numbers to every statement, you will discover that there are 
often more statements between already-defined line numbers than there are unused line num- 
bers between those defined line numbers. This means you will have to renumber some of the exist- 
ing program line numbers. If you do this, be sure to also change any GOTO's, GOSUB's, etc. that 
reference the line numbers you are changing. Use the line number cross reference part of each pro- 
gram listing to assist in this task. 

Instead of imbedding program remarks (or comments) in the program listings themselves, we 
have placed them alongside the listings with a pointer to the statement(s) they pertain to. We have 
used the same technique to define the variables in the variable cross reference. To save space, we use 
the following abbreviations throughout the remarks: 

P/R - Payroll 

A/P - Accounts Payable 

A/R - Accounts Receivable 

G/L - General Ledger 

G/l - General Information 



111 



G/LOOO Menu 



PROGRAM LISTING 



G/LOOO 



Main program begins on line 6100 



Data lable contains parameter pairs, one 
for each program: program file name and 
keyed file accessing subroutines require- 
ment (0 = none, 1 = full set, 2 = inquiry 

only) 



Final step Load and run selected pro- 
gram 



Load keyed file accessing subroutines (au- 
tomatically deleting lines 1 - 5999) Con- 
tinue at line 6000 after loading 



1 GOTO 6100 

5 REM G/LOOO PROGRAM SELECTION MENU 1/79 

6 COM PSB 
101 RETURN 

5000 DATA "G/L070" ,0 , "G/L010" ,E , "G/LOSO" ,2, "G/L040" ,S, "G/L050" ,1 , 

/LOGO" ,0 
6000 LOAD DC T PS 6000 
6100 SELECT DISK 310 ,#1310 ,#£310 ,#3310 ,#4310 ,#5310 ,#6310 

IGOSUB '33(1) 

:IF PS', 'i " " THEN 6105 

IGOSUB '37(4 ,0 ,0 , "ENTER PASSWORD") 

:IF aO*="PASS" THEN 6105 

JGOSUB '35 ( "WRONG PASSWORD") 

:GOTO G100 
6105 GOSUB '37(2,1 ,6, "CHOOSE PROGRAM BY NUMBER") 

:IF X0=E1 THEN G400 

: RESTORE X0*2-l 

: PRINT 

: PRINT HEX(OIOAOAOA) ; "-->LOADING PROGRAM" ;X0 ;TAB < 63 > 

:READ PS.XO 





:0N XO GOTO 61S0 ,6130 






:LOAD DC T PS 




6110 


DEFFN'IS 

LOAD DC T"G/LOOO" 




61S0 


LOAD DC T"KFAM0003" 1 


,5999 


6130 


LOAD DC T"KFAM0103" 1 


,5999 


6400 


PRINT HEX (03) 
END 





G / l_ O O O 



LINE NUMBER CROSS REFERENCE 



0001 - 


G1E0 


G130 


5999 - 


61E0 


G130 


6000 - 


6000 




6100 - 


0001 


6100 


6105 - 


6100 


6100 


61E0 - 


G105 




6130 - 


6105 




6400 - 


6105 





Name of program file to load 



Miscellaneous, temporary 



Password entered by operator 



_r 



VARIABLE CROSS REFERENCE 

PS - 0006 6100 6105 

XO - 6105 6105 6105 6105 6105 

XOS - 6100 



G /L.OOO 



SPECIAL FUNCTION CROSS REFERENCE G/LOOO 



PAGE 3 



15 - 


6110 




33 - 


6100 




35 - 


6100 




37 - 


6100 


6105 



112 



G/L010 Direct Posting Entry 



PROGRAM LISTING 



G/L010 



Main program begins on line 6000 



Save last (partial) block of postings, if any 



Enter month and day for Posting Date 

field 



Check for valid month 



Check for valid day 



Display month/day 



Enter Reference Number field 



Enter Posting Amount field 



Display new account balance 



Open Posting files, skip to end, compute 
current sizes 



Check for full Posting files The External 

Posting file must have room for all records 

currently in the Direct Posting file 



Clear Posting record variables Open Ac- 
count file for keyed file accessing 
Retrieve G/l data 



Set Account Type field (P2) for direct 

postings Request operation code and 

branch to appropriate program area 



Enter direct postings Request Account 
Number field; make sure it's on the Ac- 
count file 



Retrieve and display account data 



Stop program if too few sectors (XO) are 
left on the Direct Posting file 



1 GOTO 6000 

5 REM G/L010 DIRECT POSTING ENTRY/PRINT 1/79 
-4000 DEFFN'83 

:IF GBU THEN 101 

:G8=17 

:GOSUB '113(3) 

:G8=0 

: RETURN 
-4050 DEFFN'B4(>:0 > 

:IF X0>1 THEN 101 

IPRINT HEX (010A0A); "FILE FULL - RUN G/L UPDATE" 

IPRINT "KEY < CONTINUE; <RETURN> TO EXIT" 

:STOP 

IGOTO 6340 
-5000 UNPACK <##.##>G3S TO P3 

IGOSUB 35(335) 

IPRINT TAB (5) ; 

:GOSUB '34(336,4,0,9999) 

:IF >.0=0 THEN S040 

:P3=X0/100 

:Ai=iNT( >;o/ioo ) 

:IF Al '.1 THEN 5030 
:IF Al :1E THEM 5050 
:A1=»,0-A1*100 
:IF Al U THEN SOSO 
:IF A1..3E THEN 5040 
5050 GOSUB 35 ("BAD DATE") 
IGOTO 5000 
-5040 CONVERT P3*100 TO > OS, <####) 
: GOSUB '35(335) 

: PRINT STRO.-0S,! ,2); " / " ; 3TR ( XO* ,3 ,5 ) ; 
: RETURN 

34(398 ,6,0 ,999999) 



'34(457,11 ,-9999999. 99,9999999.99) 



,Dil )+P5 



5900 

5910 

5950 

■6000 



) GOSUB 

:P4 = i.O 

: RETURN 
) GOSUB 

:PS=xo 

IGOSUB '35(490) 

IPRINTUSING 5900 

: RETURN 
%-######### .## 

%#####.# ## ##/## ######-#######.## 
%### TOTAL DIRECT POSTINGS $#########.## 
DATA LOAD DC OPEN T#4 , "G/L0F0S0 " 

:DATA LOAD DC OPEN T#3 , "G /L0F030 " 

:DSKIP #4, END 

:limits t#4,a,a,a1 
:R9=a-ai 
idskip #3, end 
:limits t#3,a,ai ,ae 

:R8=A1-A2-1 

: GOSUB '84(R8) 

:R9=R9-A5+A 

: GOSUB '84(R9) 

IG9=R8 

:IF RS-.R9 THEN 6050 

:G9=R9 
) IMITiOOlGSM ) 

IGOSUB '130(1, 

IGOSUB '45(1) 
I PS=3 

: GOSUB 

: GOSUB 



,1 ,5, 



;/L0FU 0" ) 



'33(5) 
37(1 ,0 , 



r 



'ENTER OPERATION (0=EXIT, 
:ON ..0 + 1 GOTO 6340 ,6060 ,6500 

GOSUB 34(264,7,0,99999.9) 
:P1=»0 

:IF *0=0 THEN 6040 
: PACK (#####. #)a"0* FROM <;0,0 
:pi = -:o 

IGOSUB '13E(l,x0S) 
I IF Q*=» " THEN 608 
IGOSUB 35 ("NOT ON FILE") 
IGOTO 6060 

GOSUB 'UO(S) 
I UNPACK (##.## )G3$ TO P3 
IP4 ,P5=0 
IGOSUB '35(575) 
IPRINT L1*;TAB(31 ) 
IGOSUB 5040 
I '.OS =" INCOME STMT" 
I IF L4=l THEN 6100 



l=POST, S=PRIHT)") 



G /l_0 X O 



113 



G/LQ10 Direct Posting Entry 



PROGRAM LISTING 



G/L010 



Enter Reference and Amount fields 



Allow changes to entries 



Save the posting. If it filled the file, 
subroutine '84 will end the program 



Cancel the posting 



Print Save any postings just entered 
Reposition Direct Posting file 



Make sure printer is on; select printer for 
output 



Retrieve next posting 



End of file? 



Skip over unused records at the end of the 
current block of postings 



Three postings are printed per line See if 
this posting should start a new line or not 



Print posting data 



Accumulate posting totals 



Print totals 



End program Encourage printing any 
postings that were just entered 



If report isn't printed, save last block of 
postings 



Close Account file for keyed file access- 
ing Reload Menu 



:X0«= "BALANCE SHEET" 
6100 GOSUB '36(B) 

: PRINT XOS ; " . " ; 

:X0*= "DEBIT" 

:IF LS=1 THEN 61E0 

!XOS="CREDIT" 
61S0 PRINT X0«; " " 

: GOSUB '36(43) 

:PRINTUSING 5900 ,D(1 ) 

: GOSUB 5060 

: GOSUB S080 
-6140 GOSUB '37(1 ,0,4, "ENTER FIELD TO CHANGE (0=NONE; 4=CANCEL>") 

:IF X0=0 THEN 6160 

:IF X0=4 THEN 6180 

:ON xOGOSUB 5000 ,5060 ,5080 

:GOTO 6140 
-6160 GOSUB '113(3) 

: GOSUB ' 35 ( " RECORDED " ) 

: GOSUB '84<G9I 
-6180 GOSUB '33(E) 

:GOTO 6060 
-6S00 GOSUB '83 

: DBACKSPACE #3, BEG 

!G7=16 

:n,ni=o 

:Hl=3 

:L=60 

: GOSUB '60 

:SELECT PRINT 215(132) 
-6SB0 GOSUB '115(3) 

:IF G7;16 THEN 63S0 

!IF P1-. >0 THEN 6S40 

:G7=16 

:G0TD 6SS0 
-6E40 H1=H1+1 

:IF HU4 THEN 6E60 

: PRINT 

:L=L+1 

JGOSUB '41 ("DIRECT GENERAL LEDGER POSTINGS ", 1 10 ) 

:H1=1 
-6S60 PRINTUSING 5910 ,Pt ,PH , INT < P3 > ,100* (P3-INT (P3 > > , P4 ,P5; 

:IF HI =3 THEN 6BB0 

: PRINT "j <;"; 

-6B80 H=N+1 

:N1=N1+P5 
6300 GOTO 6ES0 
-63E0 PRINT 

: PRINT HEX I OA); TAB (35) ! 
: PRINTUSING S3S0 ,N,N1 
:GOTO GO-'SO 
-6340 DEFFN' 15 

:IF GB'. 1 THEN 6360 

JGOSUB '37( 1 ,0,1 , "DO YOU WANT A DIRECT POSTING LISTING?") 
:IF X0=1 THEN 6S00 
: GOSUB '83 
-6360 GOSUB '139(1 ) 
6380 DATA SAVE DC CLOSEALL 

: PRINT HEX(03);"G/L DIRECT POSTING LOADING MENU" 
:LOAD DC T"G/L000" 
S440 DEFFN '25 "A*="; HEX (EE> ; "G/LO 10 " ;HEX(SS ) ; " : 5CRATCHTAS " ;HEX ( OD ! 
6460 DEFFN ' S6 "SAVEDCTIAS) AS"; HEX (0D> 



<3 /l—O 1 O 



114 



G/L010 Direct Posting Entry 



LIME NUMBER CROSS REFERENCE 



G/L010 



0101 


- 


4000 


4080 




5000 


- 


50S0 


6140 




5oao 


- 


5000 


5000 


5000 


5040 


- 


5000 


5000 


6080 


5060 


- 


61S0 


6140 




50B0 


- 


61B0 


6140 




5900 


- 


5080 


61S0 




5910 


- 


6860 






S9E0 


- 


6380 






6000 


- 


0001 






eoeo 


- 


6000 






6040 


- 


6060 


63E0 




6060 


- 


6040 


6060 


6180 


6080 


- 


6060 






6100 


- 


6080 






eiao 


- 


6100 






6140 


- 


6140 






6160 


.. 


6140 






61B0 


- 


6140 






6800 


- 


6040 


6340 




6EE0 


- 


6880 


6300 




6S40 


- 


6880 






6360 


- 


6840 






6880 


- 


6860 






6380 


- 


6880 






6340 


- 


4080 


6040 




6360 


- 


6340 







<3 /-|_0 i O 



VARIABLE CROSS REFERENCE 



PAGE a 



Miscellaneous, temporary 
Miscellaneous, temporary 
Miscellaneous, temporary 
Account file 
Posting file ' 
G/l file 
Posting file blocking factor (loading) ■ 
Posting file blocking factor {savingl . 
Sectors remaining on Posting file . 
Posting's position on printed line ■ 
Line counter ■ 
Account name 
Account's report type ■ 
Account's normal balance (DB or CR) • 
Number of postings printed 
Cumulative $ amount of postings printed . 
Posting account number 
Posting source code ■ 
Posting date . 
Posting reference ■ 
Posting amount ■ 
Keyed file accessing status . 
Space available on Direct Posting file . 
Space available on External Posting file . 
Miscellaneous, temporary . 

Miscellaneous, temporary . 



■ A 
Al 
AS 
D( > 
G*< ) 
G3* 
G7 
G8 
G9 
HI 

• L 
US 

■ L4 
L5 
M 
Nl 
PI 

pa 

P3 
P4 
PS 
Q* 
R8 
R9 
XO 

XOS 



6000 
5000 
6000 
SOBO 
6080 
5000 
6300 
4000 
6000 
6S00 
6800 
6080 
6080 
6100 
6S00 
6E00 
6060 
6040 
5000 
5060 
5080 
6060 
6000 
6000 
4080 
6140 
5040 



6000 
5000 
6000 
6180 

6080 
6880 
4000 
6000 
6840 
6840 



6880 
6880 
6060 
6860 
5000 
6080 
5080 

6000 
6000 
4030 
6140 
5040 



5000 5000 6000 6000 6000 6000 



6000 6000 6000 
5000 5000 5000 
6000 



6880 

4000 6340 

6160 

6340 6840 6840 

6240 



6880 63E0 
6880 6330 
6SE0 6860 

5040 6080 6860 6S60 6360 

6860 

60BO 6860 6380 

6000 6000 

6000 6000 6000 6000 

5000 5000 5000 S000 5060 SOBO 6040 6060 6060 6060 

6140 6340 

5040 6060 6060 6080 60B0 6100 6100 6100 61E0 



<3 /l_0 ± O 



SPECIAL FUNCTION CROSS REFERENCE G/L010 



15 - 


6340 








as - 


6440 








86 - 


6460 








38 - 


5000 


5040 


5080 


6080 


33 - 


6040 


6180 






34 - 


5000 


5060 


5080 


6060 


35 - 


5030 


6060 


6160 




36 - 


6100 


61E0 






37 - 


6040 


6140 


6340 




41 - 


6840 








48 - 


6080 








60 - 


6800 








83 - 


4000 


6800 


6340 




B4 - 


40E0 


6000 


6000 


6160 


110 - 


6080 








113 - 


6SE0 








113 - 


4000 


6160 






130 - 


6030 








138 - 


6060 








139 - 


6360 









115 



G/L020 Sort Postings 



PROGRAM LISTING 



G/L0eO 



f, G, and H are input/output variable 
dimensions 



Load one sector from each pre-sorted 
block into merge array A$( ) 



Display status message 



During pre-sort phase, save pre-sorted 

block A$( ) on Work file During merge 

phase, save merge array A$( ) on External 

Posting file 



Await operator cue before beginning pro- 
gram 



Open input files (External and Direct Post- 
ing files) Work file and output file (Exter- 
nal Posting file) Initialize variables 



Sort blocks of postings, first from Direct 

Posting file, then from external Posting 

file Save blocks of postings on Work file 

as they are sorted 



i 

5 

6000 



6050 
6060 



-6070 
60B0 



6100 

-6110 

6120 



-6S00 
6S10 



6SS0 
SS30 



GOTO 6000 

REM G/LOSO SORT POSTINGS 1/79 

DIM AS (15, 16)14,3(16) ,C1S1 , IS ( 16 > 14 , J* < 16 > 14 
:DIM L*(E40>E,US(16) 1 , VS ( 16 ) S ,UJS 1 15 , 16 )S , ASE7 
:IMIT(0A)X1S 
:F=15 
:G = 1S 
:h=14 
:GOTO 6110 

DEFFN'33 
IDBACKSPACE #S,BEG 
:DSKIP #S, (F + l i* (1-1 )+S(I )5 
:DATA LOAD DC #3 , I* < > 
:S(I)=S(I)+1 
: IF END THEN 60E0 
:IF S(I ) <F+E THEN 6030 

print "S( " ;l; " )=";s<l ); 

:STOP "SORT ERROR" 
: INIT(F0)I$( ) 

MAT COPY I*() TO ASl XII-1 )*P1 + 1 ,P1> 
: US ( I ) =HEX (01) 
: RETURN 

DEFFN'S3(Q,AS,Q1 ) 
: PRINT HEX (01 ) ;STR(X1$ ,1 ,Q) ; AS, 
:IF 01=0 THEN 6060 
:PPINTUSING 6050 ,Q1 ; 

%###### 

PRINT TAB (64) 
: RETURN 

DEFFN'34 

NO =G 

:MAT MOVE A*< ) ,L*lS> ,N0 TO J*(J) 
: J=J+N0 
:S=S+N0 
:K0=K0+M0 

: PRINT "RECORD NUMBER:", 
IPRINTUSING 6050 ,K0i 
: PRINT HE* (0D0A0C) 

:IF 5TRUSU ) ,1 ,1 )=C1« THEN 6100 
:IF J.>G THEN 6100 

DATA SAVE DC #T1 ,JSl ) 
: J = l 

:.INITiF0)J*( ) 
:IF S-:P+1 THEN 6070 

RETURN 

PRINT HEX(03);"G/L POSTING SORT/UPDATE" 

PRINT "KEY RETURN TO BEGIN; ENTER 'END' TO EXIT" 
: INPUT A* 

:IF A$="END" THEN 6330 
) PRINT HF'MOIOAOA' 
'.PRINT "WORKING. . .DO NOT INTERRUPT "i TAB (64 ) 
ILIMITS T"G/LOF0eO" ,P,P,P 
:LIt1ITS T"G/LOF030",S,S,S 
> PRINT "MAX NUMBER OF RECORDS: ",<S+P-4)»G 
:IF S<P>4 THEN 6190 
: SELECT P9 

: PRINT HE* <0A l ; "NO RECORDS" 
: SELECT P 
:GOTO 6350 
) DATA LOAD DC OPEN T#3 , 
: DATA LOAD DC OPEN T#S , 
:DATA LOAD DC OPEN T#l , 
:INIT(F0 )C1S,JS( ) 
: J,T = l 
:Tl=e 
:P=F*G 
:P1=G*H 
:GOSUB 'S3 (4 

M=0 

DATA LOAD DC #T , I 
:IF END THEN 6E55 
:IF M>0 THEN 6SS0 
:INIT(F0 >AS( ) 

M=M+1 

MAT COPY IS I ) TO AS ( ) 
:IF M<F THEN 6E10 

MAT SORTASI) TO UI*(I,LS(I 
:S=l 

:IF L-N=l THEN 6850 
:GOSUB 'S3 (5," ",0) 
: GOSUB ' 34 



G/L0F0E0" 
WORKFILE" 
G/L0F030" 



SORT DIRECT POSTINGS" ,0) 



M ) 



(M-l ) »P1 + 1 ,P1> 



116 



G/L020 Sort Postings 



PROGRAM LISTING 



G/LOSO 



PAGE E 



Using '33 to load sectors of sorted post- 
ings from each pre-sort block on Work 
file whenever necessary, merge pre- 
sorted blocks of postings and save on 
output file 



End output file Erase Work file Go load 
up-date processor 



Reload Menu unless sort has begun 



Load report program 



:data SAVE DC #T1 ,JS< ) 
6E50 N=N+1 

: GQSUB '33(7," BLOCKS SORTED : " , N ) 

:ON L+1GOTO 6S00 ,6570 
6E5S IF T=3 THEM 6260 

:T=3 

: GOSUB '33(4, "SORT EXTERNAL PUSTINGS" ,0 > 

:GOTO 6S10 
6S60 L = l 

:IF M.;0 THEN 6240 
-6S70 GOSUB '23(4, "MERGE SORTED BLOCKS", 0) 

:J,S=l 

:Ti=3 
:ko=0 
:dbackspace #T1 ,beg 

:INIT(F0IJ*( ) 

:ON N+1GOTO 6320 ,6310 
6E80 INIT(F0)A*< ) 

:FOR 1=1 TO N 

: GOSUB '33 

INEXT 1 

:INIT(01)US( ) 
6230 MAT MERGEASl) TO US < > , V* < > , L* < > 

:S = 1 

; GOSUB '34 

:IF N0=0 THEN 6300 

:IF STRUSd ) ,1 ,1)=C1S THEN 6320 
6300 I=VAL(U*(F+1 ) ) 

:IF 1=0 THEN 6290 

: GOSUB '33 

:GOTO 6290 
6310 GOSUB '34 
-6320 DATA SAVE DC #T1 ,END 

: GOSUB '23(9, "SORT COMPLETE ", ) 

iDBACKSPACE #2, BEG 

idata save dc #2, end 
:dbackspace #i,beg 

:DATA SAVE DC #1 ,END 
:GOTO 6340 
-6330 DEFFH'15 

:IF Tl=3 THEN 101 
6335 PRINT HEX ( 03 > ; "G /L POSTING SORT LOADING MENU" 

ILOAD DC T"G/L000" 

6340 DATA SAVE DC CLOSEALL 

• 63S0 LOAD DC T "G /L030 "6000 



G /l_OSO 



LINE NUMBER CROSS REFERENCE 



0101 - 


6330 




6000 - 


0001 


6350 


6020 - 


6010 




6030 - 


6010 




6050 - 


6040 


6080 


6060 - 


6040 




6070 - 


6090 




6100 - 


6080 


6080 


6110 - 


6000 




6190 - 


61B0 




6200 - 


6250 




6210 - 


6230 


6255 


6220 - 


6210 




6240 - 


6260 




6250 - 


6240 




6255 - 


6210 




6260 - 


6255 




6270 - 


6250 




6290 - 


6300 


6300 


6300 - 


6290 




6310 - 


6270 




6320 - 


6270 


6290 


6330 - 


6120 




6340 - 


6320 




6350 - 


6180 





G /l—O&O 



117 



G/L020 Sort Postings 



VARIABLE CROSS REFERENCE 



c/Loao 



PAGE e 



Miscellaneous, temporary 

Sort array 

Hexadecimal FO (end of file indicator) 

Number of sectors sorted at one time ■ 

Number of records per sector 

Bytes per record 

Index 

Input array 

Index 

Output array 

Number of records sorted/merged 

more blocks to sort: 1 - all blocks sorted 

Index array (for sort/merge) 

Count of sectors sorted into A$( I 

Number of blocks sorted 

Bytes to move (or just moved) 

Number of elements in A$( ) 

Bytes used in each sector 

Line number to print message on 

Quantity to print along with message 

Miscellaneous, temporary 

Which sector to use next in each block of sectors 

Logical file number for input 

Logical file number for output 

Work array 

Work array 

Work array 

Line feed characters 



-AS 
• ASM ) 
-CIS 

-F 
-G 
-H 

-I 

-ISO 

-J 

-J*( > 

-K0 

-L 

-LS( ) 

-M 

-N 

-NO 

-P 

-PI 

-Q 

-Ql 

-S 

-S< ) 
-T 
-Tl 
-U*( ) 
-V*t ) 
-WS< ) 
-XXS 



6000 
6000 
6000 
6000 
6000 
6000 
6010 
6300 
6000 
6080 
6000 
60B0 
6S40 
6000 
6S00 
6240 
6080 
6090 
6030 
6040 
6040 
6010 
6E90 
6000 
6190 
6090 
6000 
6000 
6000 
6000 



6040 6040 61E0 6180 

6030 6080 6S10 6S30 6380 

6080 6190 6E90 

6010 6010 6190 6S30 6300 

60B0 6080 6180 6190 6190 

6190 

6010 6010 6010 6010 60S0 60E0 6030 6030 6S80 6SB0 6300 



6010 6030 6030 6E10 

60B0 6080 6080 6090 

60B0 6080 6090 6090 

6080 6080 6E70 
6E50 6E60 

6080 6E40 6E90 

6S10 6E80 6SE0 6E30 

6E50 6ES0 6E50 6S70 

60B0 6080 6080 6080 

6170 6170 6170 6180 

6030 6190 6S30 6E30 
6040 

6040 6040 

6080 60B0 60B0 6090 



6E30 

6190 6S70 

6190 6S40 6E70 6B90 



6B30 
6EB0 
6S90 
61B0 



6170 6170 6170 6180 6180 6S40 6S70 



6010 6010 6010 6010 60S0 

6E10 6E55 6EBS 

6190 6E40 6E70 6E70 63E0 6330 

6030 6EB0 6E90 6300 

6E90 

6E40 

6040 



G /L-O&O 



SPECIAL FUNCTION CROSS REFERENCE G/LOSO 



PAGE 3 



15 - 6330 

S3 - 6040 6190 6E40 6E50 6ESS 6E70 63E0 

33 - 6010 6S80 6300 

34 - 6070 6E40 6S90 6310 



1 18 



G/L030 Posting Update 



PROGRAM LISTING 



G/L030 



Main program begins on line 6000 



Print error report headings 



Print update report headings 



Pack a blocked Posting record 



Save a full block of Posting records in its 
original place on disk 



Postings may be printed more than one 
per line At the end of a line, increment 
the line counter and check for page over- 
flow 



After adding up all postings for a single 
account, retrieve the Account record, up- 
date it with the accumulated postings, 
save it, and print the account totals 



Keep a total of postings to credit ac- 
counts 



Keep a total of postings to debit accounts 



Save one block of Error records 



Start of main program Retrieve G/l data 
Open Error file and Posting file Open Ac- 
count file for keyed file accessing 



Make sure printer is on Select printer for 
output 



Initialize variables and file pointers 



1 

5 

10 

835 



GOTO 6000 

REM G/L030 POSTING UPDATE 1/79 

DIM ES < 16 ) 14 , K*4 , Kl*4 ,K2*4 , K3*4 ,C ( 6 ,S ) 



X4S="SRCE DATE REF AMOUNT" 

:IF F=0 THEN B37 

:FOR 11=1 TO a 

: PRINT "ACCT NO ";X4*;" "; 
■ :NEXT II 

: PRINT "ACCT NO ";X4* 

:GOTO 840 
■ 837 PRINT " ACCT " ;X4«; " : : : " ;X4»; " : : : " ;X4«; » : 

•3660 DEFFN'113(A1) 

: PACK ( ##### . # ) G* < G7 > FROMP 1 

".IF G7<16 THEN 101 

:DBACKSPACE #A1 , IS 

:DATA SAVE DC #A1,GS(> 

: RETURN 
•4000 DEFFN*7S 

:IF EB=0 THEN 101 

: PRINT 

:l=l+i 

:ee=o 

:gosub '41 ("g/l update", 100) 

: RETURN 
■4080 DEFFN'77 

:IF K1*=K3* THEN 101 

:IF Fl=l THEN 101 

•.GOSUB '110(2) 
4040 D0=D(1 ) 
4060 D<1 )=D(1 )+C 

:D(S)=D(E)+C 

:D(3)=D(3)+C 

:DBACKSPACE #S,1S 

IGOSUB '111(E) 

:IF ES=0 THEN 4080 

: PRINT 

:l=l+i 
:es=o 
4080 print l1*;tab(3s); 

:PRINTUSING 5900 ,C ( 1 , 1 ) ,C (2 , 1 ) ,C (3 ,1 ) ,C (4 , 1 ) ; 
: PRINT TAB < 94 ); "OPENING BAL " ; 
ZPRINTUSING 5930 ,D0 
4100 PRINT " NET CHANGE"; 
ZPRINTUSING 5930 ,C; 
: PRINT TAB(E9); 

IPRINTUSING 5930 ,C ( 1 ,2 ) ; C (2 ,2 ) ! C <3 ,S > ; C (4 ,2 ) J 
: PRINT TAB ( 9,4 ) ; "CLOSING BAL " ! 

:printusing 5930 ,D(i) 

: PRINT HEX(OAOA) 
4120 IF L5=l THEN 4140 

:C9=C9+C 

:GOTO 4160 
D9=D9+C 
L=L+4 

:F1=1 

: RETURN 
-4180 DEFFN'BS 

:IF E1=0 THEN 101 

:DSKIP #3, END 

:DATA SAVE DC #3,E*( ) 

:DATA SAVE DC #3, END 

:INIT(00)E*( ) 

:E1=0 

: RETURN 
5900 %P/R ### A/P ### A/R ### G/L #* 
5910 %## ##/## ######-#######.## 
59E0 %#####.# 
5930 %-#########.## 
-6000 GOSUB '4B(D 

:DATA LOAD DC OPEN T#3 , "WORKFILE" 

:DATA LOAD DC OPEN T#4 , "G/L0FO20 " 

:GOSUB '130(1,1 ,E,1,"G/L0F110") 

: PRINT HEX (03 ); "GENERAL LEDGER UPDATE" 
60E0 PRINT "PROCESSING.. .DO NOT INTERRUPT" 

: GOSUB '60 

: SELECT PRINT 215 (13a) 
•6040 L=66 

:G7=16 

:E1,E2=0 

:INIT(00)Kl*,Ka«,K3*,ES( ) 

:dbackspace #3, beg 



<3 /1—030 



119 



<"» /■ «•»/> 



»— f-*»—** I !*%«-!«*+*» 



PROGRAM LISTING 



G/L030 



Retrieve next posting Check for end of 
Posting file. Skip postings to account 
number All regular accounts (which are 
the only ones that can be posted to) have 
zero sub-account numbers 



Current posting to same account as last 

posting? Current posting to same account 

as last error? 



This posting is to a different account than 
the last posting Update and print last ac- 
count totals Locate this account on Ac- 
count file 



Print account number, clear totals, reset 

flags, etc Print up to four postings (for 

the same account) per line Don't print 

zero-amount postings 



Start printing each line in the same col- 
umn Print posting data Add posting 
amount to totals for current account 



Resave posting on Posting file with 
zeroed Account Number field, preventing 
double updating if this program is rerun 



Create Error record for bad posting First, 

save any full block of Error records Copy 

Posting data to Error record 



End of Posting file encountered Finish 
printing and updating last posting and ac- 
count totals Save final block of Error 
records 



Make sure there's enough room to print 
update recaps Print update recap 



Reset counters, flags, and Error file posi- 
tion for error report. Retrieve next Error 
record Check for end of Error file Print 
three errors per line Accumulate error 

totals 



End of Error file detected Erase Error file 
and Posting file 



: "BACKSPACE #4, BEG 
•6060 GOSUB '112(4) 

:IF G7>16 THEN 6280 
60B0 IF P1=0 THEN 6060 

:KS=GS<G7> 

:STR!I«,4,1 )=HEX(00) 

:IF K*=K1* THEN 6120 

:.IF KS=K2S THEN 6240 

: GOSUB '77 

: GOSUB '132<1,KS> 

:IF Q*<>" " THEN 5240 

:GOSUB '41 ( "G/L UPDATE" , 100) 
-6100 PRINTUSING 5920 ,P1; 

:FOR 11=1 TO 6 

:C(ii,i ) ,c(ii,s>=o 

'.NEXT II 
:C,E2,F1=0 

:kis=k* 

6120 IF E2<4 THEN 6140 

: GOSUB '76 
6140 IF PS=0 THEN 6200 
-6160 IF E2>0 THEN 6170 

: PRINT TAB (10) 5 
6170 PRINT " "; 

: PRINTUSING 5910 ,P2 ; INT <P3 ) ; 100* (P3-.INT <P3 ) ) ;P4; PS; 

MF E2=3 THEN 6180 

: PRINT ":::"; 
6180 C=C+P5 

:C(P2+1 ,1 )=C(PE+1 ,11+1 

:C(PB+1 ,2)=C(PS+1 ,2)+P5 

:E2=E2+1 
-6200 P1=0 

:GOSUB '113(4) 

■.GOTO 6060 
-6240 IF EK16 THEN 6260 

: GOSUB '82 
6260 E1=E1+1 

:ES(El )=GS(G7) 

:KS*=K* 

:GOTO 6200 
-6280 GOSUB '76 

! GOSUB '77 

: GOSUB '82 
-6300 L=L+5 

: GOSUB '41 ("G/L UPDATE ",100) 
6320 PRINT HEX ( OAOA ); "TOTAL NET CHANGE:" 

: PRINT HEX (OA); "DEBIT ACCOUNTS", 

: PRINTUSING 5930 ,D9 

: PRINT "CREDIT ACCOUNTS", 

I PpT)-!T!jrT!-JQ 5930 , CS 

;PRlNi HEX i OA ) i "PROOF , 

: PRINTUSING 5930 ,D9-C9 

: PRINT 
-6340 L=66 

:C,C1=0 

:E2=4 

:G7=16 

:F=1 

: DBACKSPACE #3, BEG 
6360 GOSUB '112(3) 

:IF Pi=u THEN 6440 

:IF G7>16 THEN 6440 
63B0 IF ES<3 THEN 6400 

: PRINT 

:L=L+1 

:E2=0 

:GOSUB '41("G/L POSTING ERRORS", 100) 
6400 PRINTUSING 5920 ,P1; 

: PRINT " "; 

: PRINTUSING 5910 ,P2 ; INT ( P3 ) ; 100* (P3-INT (P3 ) ) ; P4 ; P5I 

:IF E2=2 THEN 6420 

: PRINT " " ; 

6420 C=C+P5 

:ci=ci+i 

:E2=E2+1 
:GOTO 6360 
-6440 DBACKSPACE #3, BEG 

:DATA SAVE DC #3, END 
: DBACKSPACE #4, BEG 
:DATA SAVE DC #4, END 
: IF E8=0 THEN S460 



<3 /LOSS 



120 



G/L030 Posting Update 



Print last line of error report, if any 



Print error totals 



End program. Close Account file for keyed 
file accessing. Reload Menu. 



PROGRAM LISTING 



G/L030 



PAGE 3 



: GOSUB ' 76 

6460 PRINT HEX(0A)-,C1; " ERROR POSTINGS = *" 

:PRINTUSING 5930 ,C 

r6480 DEFFN'IS 
: GOSUB '139(1) 
:DATA SAVE DC CLOSEALL 
:LOAD DC T"G/l_000" 



G /l_030 



LINE NUMBER CROSS REFERENCE 



G/L030 



PAGE 1 



0101 


- 


3660 


4000 40E0 4020 


0837 


- 


0835 




0840 


- 


0835 




4080 


- 


4060 




4140 


- 


41H0 




4160 


- 


4180 




S900 


- 


4080 




5910 


- 


6170 


6400 


59S0 


- 


6100 


6400 


5930 


- 


4080 


4100 4100 4100 


6000 


- 


0001 




6060 


- 


60BO 


6200 


6130 


- 


6080 




6140 


- 


61S0 




6170 


- 


6160 




61B0 


- 


6170 




6E00 


- 


6140 


6260 


6340 


~ 


6080 


6080 


6260 


- 


6240 




eaao 


- 


6060 




6360 


- 


64E0 




6400 


- 


6380 




6420 


- 


6400 




6440 


- 


6360 


6360 


6460 


_ 


6440 





63E0 63S0 63E0 6460 



C3 /L_030 



Logical file number - Account file 
Total postings to current account; error total 

Source of postings (A/P, etc ) 

Number of errors 

$ total of postings to credit accounts 

Account file 

Account opening balance 

$ total of postings to debit accounts 

Error file 

Error file blocking factor 

Count postings on printed line 

In progress: = update report. 1 = error listing 

Account totals: = not yet printed, 1 = printed 

Posting file 

Posting file blocking factor 

Index 

Account file key 

Account currently being processed 

Account number of last error 

Hexadecimal zeros 

Line counter 

Account name 

Account's normal balance (DB or CR) 

Posting account number 

Posting source code 

Posting date 

Posting reference 

Posting amount 

Keyed file accessing status 

Report heading 



VARI0 


BL 


E CRO 


3S RE 


=EREN 


:e 




G/L030 








PAGE a 


Al 


- 


3660 


3660 


3660 




















C 


~ 


4060 
6460 


4060 


4060 


4100 


4120 


4140 


6100 


6180 


6180 


6340 


6420 


64E 


C( ) 


~ 


0010 
6180 


4080 
6180 


4080 
6180 


4080 


4080 


4100 


4100 


4100 


4100 


6100 


6100 


6180 


CI 


- 


6340 


6420 


6420 


6460 


















C9 


- 


4120 


4120 


6320 


6320 


















D( ) 


- 


4040 


4060 


4060 


4060 


4060 


4060 


4060 


4100 










DO 


~ 


4040 


4080 






















D9 


- 


4140 


4140 


6320 


6320 


















E*< ) 


- 


0010 


4180 


4180 


6040 


6E60 
















El 


- 


4180 


4180 


6040 


6240 


6260 


6260 


6260 












E2 


" 


4000 
6380 


4000 
6380 


4060 
6400 


4060 
6420 


6040 
6420 


6100 
6440 


6120 


6160 


6170 


6180 


6180 


6340 


F 


- 


0835 


6340 






















Fl 


- 


4020 


4160 


6100 




















G*< ) 


- 


3660 


3660 


6080 


6260 


















G7 


- 


3660 


3660 


6040 


6060 


6080 


6S60 


6340 


6360 










11 


- 


0835 


0835 


6100 


6100 


6100 


6100 














K* 


- 


0010 


6080 


6080 


6080 


6080 


6080 


6100 


S260 










Kl* 


- 


0010 


4020 


6040 


6080 


6100 
















K2* 


- 


0010 


6040 


6080 


6260 


















K3» 


- 


0010 


4020 


6040 




















L 


- 


4000 


4000 


4060 


4060 


4160 


4160 


6040 


6300 


6300 


6340 


6380 


6380 


Ll» 


■- 


4080 
























L5 


- 


4120 
























PI 


- 


6080 


6100 


6S00 


6360 


6400 
















P2 


- 


6170 


6180 


6180 


6180 


6180 


6400 














P3 


- 


6170 


6170 


6170 


6400 


6400 


6400 














P4 


- 


6170 


6400 






















PS 


- 


6140 


6170 


6180 


6180 


6400 


6420 














Q* 


- 


6080 
























X4* 


- 


0835 


0835 


0835 


0837 


0837 


0837 


0837 













<3 /l_030 



121 



G/L030 Posting Update 



SPECIAL. FUNCTION CROSS REFERENCE G/L030 



15 - 


543 








41 - 


4000 


6080 


6300 


6380 


4S - 


6000 








SO - 


60S0 








76 - 


4000 


61H0 


6SB0 


6440 


77 - 


40H0 


6080 


6S80 




Be - 


4180 


6E40 


6580 




110 - 


4020 








in - 


4060 








IIS - 


6060 


6360 






113 - 


3660 


6E00 






130 - 


6000 








13E - 


60B0 








139 - 


6480 









122 



G/L040 Reports 



PROGRAM LISTING 



G/L040 



Main program begins on line 6000 



Print the appropriate page and column 
headings for various report types and for- 
mats 



Trial report 



Special report 



Monthly report 



Quarterly report. 



Precede the first dollar amounts on each 
page with a dollar sign 



Print recap line 



Include monthly total 



Include yearly total 



Accumulate and print 



Precede total amounts with a dollar sign 



Accumulate regular account to all total 
levels 



You may delete this line This subroutine 
is never used when L3 = 3 



Print amount (with percent of sales on in- 
come statement) 



Clear all totals below and including the 
level just printed 



Accumulate debit total 



Accumulate credit total 



Accounts with level 0, 1, or 2 print in col- 
umn 1 ; with level 3, 4, or 5 in column 2; 
with level 6, 7, 8, or 9 in column 3 on bal- 
ance sheet. 



If Z9 = 0, make Z9 a large value (Z9 will 
be used as a divisor and must be > 0) 



Move totals (regular accounts only) 



Yearly total 



Zero This Year Total field of income and 
expense accounts 



Quarterly total 



Include quarterly total 



1 GOTO 6000 

S REM G/L040 REPORTS 1/79 
10 DIM C1*17,D9$1 

:DIM G(3,10) ,S(10) ,H<a,3) ,H1 (3) 
SO DATA "TRIAL "."SPECIAL "."MONTHLY "."QUARTERLY" 
STATEMENT " , " BALANCE SHEET " 
831 IF R1=0 THEN B3B 

:PRINT TAB<45>; "PREVIOUS QUARTER ";R1 

NAME " ; 



, B36 

PCT"; 
PCT" 

PCT"; 

PCT"; 
PCT" 



J" 



83S PRINT HEX(OA);" ACCOUNT 
ION RGOTO 833 , 834 , 835 

833 IF S=S THEN 834 
:PRINT TAB(59);"THIS MONTH 
:IF G7<4 THEN 839 
: PRINT TAB (105); "QUARTER 
IGOTO 839 

834 PRINT TAB (58); "THIS MONTH" 
:GOTO 839 

835 IF S=S THEN 834 
: PRINT TAB(59);"THIS MONTH 
:IF G7<a THEN 839 
: GOTO 837 

836 IF S=E THEN 838 
: PRINT TAB ( 61 ) ; "QUARTER 
:IF R1>0 THEN 837 
:IF G7<4 THEN 839 

837 PRINT TAB < 105); "YTD BAL 
:GOTO 839 

838 PRINT TAB (75); "QUARTER"; 

839 PRINT 

: PRINT HEX(OA) 

:D9*="$" 
4000 DEFFN'66(X0$,X0,X1 ,XS) 

: PRINT TAB(8);X0*;TAB(56); 

:IF R=4 THEN 4005 

:PRINTUSING 5910 ,X0; 

:IF SOI THEN 4010 

: PRINT TAB (99); 

:IF R=3 THEN 4015 
4005 PRINTUSING 5910 ,XS; 

:IF R<>4 THEN 4010 

:IF S=l THEN 4015 
4010 PRINT 

: RETURN 
4015 PRINT TAB (99); 

: PRINTUSING 5910 ,X1 

: RETURN 
40S0 DEFFN'71 (F.F1 > 
4040 IF L3=0 THEN 4060 

:D9$="$" 

:GOTO 4080 
4060 FOR 1=1 TO 10 

:G(F1 ,I)=G(Fl,I)+Sa*D(Fl) 

:next i 

4080 IF L3<>3 THEN 4100 

:L6=10 
4100 PRINT TABI55-MF-1 )* ( 14+8* (a-S ) ) ); 

: PRINT D9»; 

:PRINTUSING 5910 ,G(F1,L6); 

:IF S=S THEN 4iao 

:PRINTUSING 5900 ,ABS <G (Fl ,L6 ) /HI (Fl > )*100 ; 
41H0 FOR 1=1 TO L6 

:G(F1,I)=0 

:next i 

iif l5=s then 4130 

:H(1 ,F1 )=H(1 ,F1 )+D(Fl ) 

: RETURN 
4130 HIS.Fl )=H(a,Fl )+D(Fl ) 

I RETURN 
4140 DEFFN'90 

:F=INT< <L6+3)/3) 

IIF F<4 THEN 101 

:F=3 

: RETURN 
4300 DEFFNZ(Z9)=Z9-Kl-ABS(SGN(Z9)))*lEaO 
5000 IF LBOO THEN 101 

:ON SGOTO 5060 ,5040 ,50E0 
5080 D(7)=D(a> 

■.IF L4=8 THEN 5040 

:D(E)=0 
r-5040 D(6)=D<5) 

:D<5)=D(4) 



<3 /l—O-^-O 



123 



G/L040 Reports 



PROGRAM LISTING 



G/L040 



Zero This Quarter Total field of income 
and expense accounts 



Monthly total 



Zero This Month Total field of income and 
expense accounts 



Start of main program Retrieve G/l data 



Compute effective month from Fiscal Year 
Ends field and current month (from To- 
day's Date field) 



Open Account file for keyed file access- 
ing 



Determine if any postings have not been 
updated 



Initialize report parameters 



Enter report type (0 = exit, 1 = trial, 

2 = special, 3 = monthly, 4 = quarterly, 

5 = move totals) 



Enter whether to move monthly, quarterly, 
or yearly totals 



Enter 1 for income statement, 2 for bal- 
ance sheet 



Enter which quarter to report (quarterly 
balance sheet/income statement only) 



Verify entry of report options 



Encourage operator to run all reports prior 
to moving totals 



Construct report title from type and for- 
mat options 



Make sure printer is on 



Select printer for output 



Zero totals 



Retrieve sales accounts total from special 

Account record - for use as divisors in 

computing % of sales 



If the quarter being reported is not in the 

current fiscal year, use last year's YTD 

sales total 



Position Account file to first balance sheet 
account 



Position Account file to first income state- 
ment account 



Locate next Account record. Retrieve ac- 
count data Check for end of report. Con- 
vert Total Level field for use as total array 
index Compute normal sign of account 
balance 



__r 



r 



:D(4)=D<3> 

:IF L4=a THEN 5070 

:d<3)=0 
5060 IF L4=B THEN 5070 

:D<1 )=0 
5070 DBACKSPACE #E,1S 

:GOSUB '111(21 

: RETURN 
5900 X ###.##% 
5910 Si-^TMr&^ifif^^ .## 
59S0 %#####.# 

■ 6000 GOSUB '45(1 ) 

: UNPACK <##)G3S TO G6 

:G7=1B*( <G6-G5+ia>/lE-INT< (G6-G5-HB) /IB ) > 
:GOSUB '130(1, 1,S,1,"G/L0F110") 
:LIMITS T#3,"G/L0F030",Z,Z,Z 
:LIMITS T#4, "G/L0F0e0",Y,Y,Y 
6OS0 SELECT PRINT 005(64) 
:GOSUB '33(3) 

:IF (Z-S)*16+(Y-S>*16=0 THEN 6040 
: GOSUB '3E(B3S> 
: PRINT "A MAXIMUM OF" 
T UPDATED"; 

■ 6040 R,R1 ,S,P=0 

:L=G6 

: GOSUB ' 34 ( 3S7 ,1,0,5) 

:R=X0 

THEN 6800 

THEN 6080 

THEN 6060 
'34(375,1 ,1 ,3) 



Z-a; "DIRECT AND" ;Y-S! "INDIRECT POSTINGS NO 



r 



r 



r 



:IF R=0 
:IF R=a 
:IF R<5 
: GOSUB 

:s=xo 
:goto gioo 

6060 GOSUB '34(345,1,1,3) 

:s=xo 

6080 IF R<>4 THEN 6100 

SGOSUB '34(36S,1 ,0,3) 

:R1=X0 
6100 GOSUB '37 (1,0,1, "ENTRY CORRECT?") 

:IF X0=0 THEN 60S0 

:IF R<>5 THEN 61E0 

:GOSUB '37(1 ,0,1 , "HAVE YOU RUN ALL YOUR REPORTS?") 

:IF X0=0 THEN 60S0 

1 GOSUB '3SI19S) 

: PRINT "WORKING. . .DO NOT INTERRUPT" 

; GOSUB '135(1) 
6110 IF Q*<>" " THEN 60S0 

'.GOSUB '110(B) 

: GOSUB 5000 

1GOSUD '137(1! 

IGOTO 6110 
61S0 X4S=" " 

: RESTORE R 

1READ X4S 
6140 RESTORE S+5 

1READ STR(X4$,LEN(X4*>+1 > 

: GOSUB '60 

1 GOSUB '3B(19B) 

: PRINT "PRINTING..." 

iSELECT PRINT 315 (13S) 

:INIT< 00)X0* 

:UNPACK(#)X0* TOG(),H() 
6160 GOSUB '13EU, HEX (99999900)) 

1GOSUB '110(B) 

:H1(1 )=FNZ(D(1 ) ) 

:H1 (S)=FNZ(D(B> ) 

:H1 (3)=FNZ(D(3+R1 ) ) 

1IF INT( (G7+E)/3)>R1 THEN 6180 

:H1 <B)=FNZ(D(7> ) 
6180 GOSUB '135(1) 

:IF SOI THEN 6B40 
6S00 GOSUB ' 133 ( 1 ,HEX (30000000 ) ) 

:IF Q*=" " THEN 6B40 

eaao gosub 'i37(i ) 

:IF Q*<>" " THEN 6660 
6S40 GOSUB '110(B) 

:IF R=B THEN 6350 

:IF L4 0S THEN 6660 
6S50 L6=L6+1 

:ss=i 

:IF L5=S1 THEN 6B60 



G /LO-O-O 



124 



G/L040 Reports 



PROGRAM LISTING 



G/L040 



PAGE 3 



Use requested quarterly totals 



If the quarter being reported is not in the 
current year, use last year's YTD total 



Include only regular accounts on the 
special report 



Check for full page Print title account's 
name in expanded type Establish the 
standard account balance (DB or CR) 
which will prevail until the next title ac- 
count comes up 



Print regular account's number Print ac- 
count name. Nothing else to print for title 
and heading accounts 



Otherwise, branch to appropriate program 
area to continue printing 



If Extra Line Advance field is 9, advance 
to the next report page. Print extra blank 

lines. 



Monthly trial balance 



Trial income statement: include monthly 
and current quarter totals 



Accumulate new sales totals 



Special report: print monthly totals 



Monthly income statement: include 
monthly and yearly totals 



Monthly balance sheet: include monthly 
totals 



Quarterly income statement: include 
quarterly and yearly totals 



Quarterly balance sheet: include quarterly 
totals 



End of report First, make sure there's 

enough room to print the recap (no recap 

on special report) 



After printing a trial income statement, 
retrieve the special sales totals record and 
replace the totals with new totals ac- 
cumulated during this report 



Replace monthly, yearly, and quarterly 
totals 



Save updated special sales totals record 



Print total debits, total credits, and bottom 
line (Proof/Retained Earningsl 



_J 



J 



J 



:se— 1 

6860 IF R1=0 THEN 6380 

ID(3)=D(3+R1) 

:DU>=0 

:IF INT< (G7+8)/3)>Rl THEN 63S0 

:D<2)»D<7> 
-6380 IF ROE THEN 6340 

:IF LEOO THEN 6SS0 

:IF L9=0 THEN 6880 
-6340 GOSUB '4KX4S.110) 

:IF L3=3 THEN 6380 

:IF L3<>1 THEN 6360 

: PRINT HEX(OE); 

IS1=LS 

:GDTD 63B0 
6360 IF L3O0 THEN 6380 

:PRINTUSING 5980 ,L1; 
G380 PRINT TAB(8+9-L6);Ll*;TAB(48>; 
6400 IF L3=l THEN 6480 

:IF L3=3 THEN 64S0 

:0N RGOSUB 6460 ,6560 ,6580 ,6680 

ID9*=" " 

- 6480 PRINT 

:IF L7<9 THEN 6440 

:L=60 

:GDTO 6880 
6440 PRINT STR(X1S,1,L7+1> 

IL=L+L7+1 

:GDTO 6880 
6460 IF S=l THEN 6480 

: GOSUB '90 

:GOSUB '71(F,1> 

:GOTO 6540 

- 6480 GOSUB '71(1 ,1 ) 

:IF G7<4 THEN 6540 
:GOSUB '71(3,3) 
6540 IF L8=0 THEN 101 
:FOR 1=1 TO 10 
:S(I)=S(I)+D(I)*SS 
INEXT I 
: RETURN 

- 6560 PRINT TAB ( 55 ) ; 

:PRINTUSING 5910 ,DU); 
: RETURN 
6580 IF S=S THEN 6600 
IGOSUB '71(1,1) 
:IF G7<8 THEN 101 
-.GOSUB '71(3,8) 
: RETURN 

■ 6600 GOSUB '90 

IGOSUB '71(F,1> 

: RETURN 
6680 IF S=B THEN 6640 

:GOSUB '71(1,3) 

:IF R1>0 THEN 6630 

:IF G7<4 THEN 101 
6630 GOSUB '71(3,8) 

: RETURN 
' 6640 GOSUB '90 

IGOSUB '71 (F, 3) 

: RETURN 
6660 IF R=S THEN 6050 

:L=L+7-8»S 

:GOSUB '41<X4*,110> 

:C1*= "PROOF" 

:IF S=8 THEN 6780 

I C1S= "RETAINED EARNINGS" 

:IF ROl THEN 6780 

■ 6670 GOSUB ' 138 ( 1 ,HEX ( 99999900 ) ) 

IGOSUB '110(8) 
6680 FOR 1=1 TO 10 

: D ( I ) =S ( I ) 

INEXT I 
6700 DBACKSPACE #8, IS 

IGOSUB '111 (8) 

I PRINT HEX(OA) 

IX0=S(8) 

I IF INT((G7+8)/3)>Rl THEN 6710 

IX0=S(7) 
6710 GOSUB '66( "SALES ACCOUNTS TOTAL" ,S (1 ) ,X0 ,S (3+R1 ) ) 
6780 PRINT HEX(OA); 



G •LO-'t-O 



125 



G/L040 Reports 



PROGRAM LISTING 



G/L040 



End program. Close Account file for keyed 
file accessing Reload Menu 



:GOSUB 'G6< "DEBIT TOTAL" ,H ( 1 ,1 ) ,H( 1 ,S) ,H (1 ,3) ) 
:GOSUB '66 ("CREDIT TOTAL " ,H < 2 , 1 ) ,H <2 ,2 ) ,H (S ,3 ) ) 
: PRINT HEX(OA) 

:GOSUB '66(C1*,H(2,D-H(1,1> ,H (S ,S ) -H ( 1 ,S ) ,H (2 ,3 ) -H ( 1 ,3)) 
:GOTO 6020 
-6600 DEFFN'15 

: PRINT HEX(03);"G/L REPORTS LOADING MENU"; 
:GOSUB '139(1) 
:L0AD DC T"G/L000" 



G /L_0^0 



LINE NUMBER CROSS REFERENCE 



PAGE 1 



0101 


- 


4140 


5000 


6540 6580 6620 


0832 


- 


0831 






0833 


- 


0832 






0834 


- 


0832 


0833 


0835 


0835 


- 


0832 






0836 


- 


0832 






0B37 


- 


0835 


0836 




0838 


- 


0836 






0B39 


- 


0833 


0833 


0834 0835 0836 0837 


4005 


- 


4000 






4010 


- 


4000 


4005 




4015 


- 


4000 


4005 




4060 


- 


4040 






4080 


- 


4040 






4100 


- 


40B0 






41S0 


- 


4100 






4130 


- 


4120 






5000 


- 


6110 






5020 


- 


5000 






5040 


- 


5000 


5020 




5060 


- 


5000 






5070 


- 


5040 


5060 




5900 


- 


4100 






5910 


- 


4000 


4005 


4015 4100 6560 


5920 


_ 


6360 






6000 


_ 


0001 






6020 


- 


6100 


6100 


6110 6660 67B0 


G040 


- 


6020 






60SC 




GG4C 






60BO 


- 


6040 






6100 


- 


6040 


6080 




6110 


- 


6110 






6120 


- 


6100 






6180 


- 


6160 






6220 


- 


6320 


6320 


6420 6440 


6240 


- 


6180 


6200 




6250 


- 


6240 






6260 


- 


6250 






6320 


- 


6260 


6260 




6340 


- 


6320 






6360 


- 


6340 






6380 


- 


6340 


6340 


6360 


6420 


- 


6400 


6400 




6440 


- 


6420 






6460 


~ 


6400 






6480 


- 


6460 






6540 


- 


6460 


6480 




6560 


- 


6400 






6580 


- 


6400 






6600 


- 


6580 






6620 


- 


6400 






6630 


- 


6620 






6640 


- 


6620 






6660 


- 


6220 


6240 




6710 


- 


6700 






6720 


- 


6660 


6660 




6800 


- 


6040 







C3 /l—O^O 



126 



G/L040 Reports 



VARIABLE CROSS REFERENCE 



Label: "proof" or "retained earnings" 
Account file 



$ character 
Column to print in {1, 2, or 3). ■ 
Specifies which element of account totals (D( )) ■ 

to use 

Report totals 

G/l file 

Month the fiscal year ends 

Month from Today's Date field 

Effective month from start of fiscal year 

Total debits, total credits 

Sales accounts, total 
Index 

Line count 
Account number 
Account name 
Sub-account number 
Account type 
Account's report type 
Account's normal balance • 
Account's total level 
Account's extra line advance 
Sales account? ■ 
Include on special report? 
Page counter - 
Keyed file accessing status . 
Report type 

Specifies which quarter to print 

Report format ■ 

Special sales totals record (see D{ )} ■ 

Current standard account balance (CR or DB) ' 

Sign of account balance ■ 

Miscellaneous, temporary ' 

Miscellaneous, temporary ' 

Miscellaneous, temporary • 

Line advance characters ■ 

Miscellaneous, temporary • 

Report title ' 

Active sectors in External Posting file + 2 < 

Active sectors in Direct Posting file + 2 < 

Miscellaneous, temporary , 



CIS 
D( ) 



D9S 

F 
Fl 

G( ) 
G3* 

G5 
G6 
G7 
H( ) 

HI < ) 

I 

L 

LI 

LI* 

LS 

L3 

■ L4 
L5 
LG 
L7 
LB 
L9 
P 

Q* 
R 

Rl 

S 

S( ) 
SI 

ss 

• xo 
xo* 

■ XI 
XI* 

xe 

X4* 
V 

z 

• Z9 



0010 
40S0 
5040 
6560 
0010 
40S0 

4oao 

4130 
0010 
6000 
6000 
6000 
0833 
0010 
6780 
0010 
4060 
6680 
6040 
6360 
6380 
5000 
4040 
5080 

4iao 

4080 
6430 
6540 
63B 
6040 
6110 
083S 
6340 
0831 
6710 
0833 
6180 
0010 

easo 

4060 
4000 
4000 
4000 
6440 
4000 
6130 
6000 
6000 
4500 



6660 6660 
4130 4130 
5060 6160 
6680 

0839 4040 
4100 4140 
4060 4060 
4130 
4060 4060 



6730 

soao soao 

6160 6160 

4100 6400 
4140 4140 
4060 4100 



5030 5040 5040 5040 5040 5040 5040 
6160 6860 6860 6860 6860 6860 6540 



6460 6600 6640 

4100 4100 4180 4180 4180 4180 4130 



4100 4100 4180 6140 



6000 
6000 
0835 
4180 
6780 
4100 
4060 
6680 
6480 



6000 
0836 
4130 
6730 
6160 
4060 
6680 
6440 



6000 6160 
4130 4130 
6730 6780 
6160 6160 
4060 4180 
6680 
6440 6660 



6860 6480 6580 6680 6700 

6140 6780 6780 6780 6780 6780 6780 

6780 

6160 

4180 4180 6540 6540 6540 6540 6540 

6660 



6380 

4080 6340 6340 6360 6400 6400 

5040 5060 6340 

6350 6340 

4100 4100 4180 4140 6350 6350 6380 

6440 6440 



eaoo eaao 

4000 4000 4005 6040 
6330 6400 6660 6660 
0831 0836 6040 6080 

0835 0836 4000 4005 
6840 6460 6580 6630 
6540 6540 6680 6700 
6340 

6350 6850 6540 
4000 6040 6040 6060 
4000 6140 6140 
4015 

4005 

6130 6140 6140 6340 
6000 6000 6080 6080 
6000 6000 6030 6080 
4800 4800 



6040 6040 6040 6040 6080 6100 6180 

6160 6160 6860 6860 6860 6630 6700 

4100 4100 5000 6040 6040 6060 6140 
6660 6660 
6700 6710 6710 

6080 6100 6100 6700 6700 6710 



<3 /-l—O-O-O 



SPECIAL FUNCTION CROSS REFERENCE G/L040 



PAGE 3 



15 - 


6800 








38 - 


6030 


6100 


6140 




33 - 


6030 








34 - 


6040 


6040 


6060 


6080 


37 - 


6100 


6100 






41 - 


6340 


6660 






48 - 


6000 








60 - 


6140 








66 - 


4000 


6710 


6780 


6780 6730 


71 - 


4030 


6460 


6480 


6480 6580 


90 - 


4140 


6460 


6600 


6640 


110 - 


6110 


6160 


6340 


6670 


111 - 


5070 


6700 






130 - 


6000 








138 - 


6160 


6300 


6670 




135 - 


6100 


6180 






137 - 


6110 


6330 






139 - 


6800 









6580 6600 6680 6630 6640 



127 



<*/ ft-vi'vr 



i-AV*<UUiUBli ■ 



Ivicueb ioaicsaiOo 



Main program begins on line 6000 



Print appropriate headings for either type 
of report 



At CRT location A 1 , display label number 
X0+1 from DATA table 



At current CRT location, display label 
X0+1 from DATA table 



At TAB position XI, print label XO+1 
from DATA table 



Enter Account Number field Enter Sub- 
account Number field Locate record for 
account/sub-account just entered 



Branch to enter the value for field F 



Enter Account Name field 



Enter Account Type field Type must be 

if Sub-account Number field is 0, and 

vice-versa Display decoded Account 

Type field 



Enter Report Type field. Display decoded 
Report Type field 



Enter Normal Balance field Display 
decoded Normal Balance field 



"HEADING " , "INCOME STMT . ' 



THIS QTR PREV QTR-1 



PROGRAM LISTING G/L 

1 GOTO 6000 

5 REM G/L050 ACCOUNT F/M 1/79 
10 DATA "REGULAR", "TITLE ", "TOTAL " 
MCE SHEET" , "DB" , "CR" , "NO" , "VES" 
- 835 PRINT "ACCOUNT" ; TAB (10) ; "NAME"; 

: IF F2 = l THEN 837 

: PRINT TAB < 46 ); "THIS MO THIS YEAR 
PREV QTR-S PREV QTR-3 LAST YEAR"; 
S37 PRINT 
-4100 DEFFN'90 (Al ,X0 ) 

IGOSUB '32 (Al) 
■ 4120 DEFFN'91(X0) 

: RESTORE XO+1 

:READ XOS 

: PRINT XOS; TAB < 19) 

: RETURN 
.4140 DEFFN'92(X0,XT ) 

: RESTORE XO+1 

:READ XOS 

: PRINT TAB (XI ) ;xOS; 

: RETURN 
■5000 GOSUB '34(266,7,0,99999.9) 

IL1=X0 

I.IF L1=0 THEN 101 

IGOSUB '34(574, E, 0,99) 

:LE=X0 

I PACK (########> XOS FROM L1»1000+LE 

: GOSUB '132(1, XOS) 

: RETURN 
■5100 ON F GOTO 5120 ,5140 ,5180 ,5200 ,5ES0 ,5240 ,5260 ,52B0 

:GOTO 5300 
•51E0 GOSUB '34(330,31,0,0) 

IL1S=X0S 

: RETURN 
■5140 L3=0 

:IF L2=0 THEN 5160 

:GOSUB '34(401,1,0,3) 

:L3=X0 

:IF L3=0 THEN 5140 
5160 GOSUB '32(400) 

: PRINT L3; 

IGOSUB '91 (L3) 

: RETURN 
•51B0 GOSUB '34(465,1,1,2) 

:L4=X0 

IGOSUB '90(467,L4+3) 

: RETURN 
■5200 GOSUB '34(529,1,1,2) 

:L5=X0 

IGOSUB '90 (531 .L5+5) 



Enter Total Level field 



Enter Extra Line Advance field 



Enter whether this is a sales account Dis- 
play "yes" or "no" 



Enter whether this account is on the 
special report Display "yes" or "no" 



Enter one of the amount fields 



Display account data 



Account Name field 










Account Type field 












Report Type field 





5220 GOSUB '34(593,1,0,9) 

IL6=X0 

I RETURN 
5E40 GOSUB '34(657,1,0,9) 

IL7=X0 

I RETURN 
5E60 GOSUB '34(721,1,0,1) 

:L8=X0 

IGOSUB '90(723, L8+8 ) 

: RETURN 
5280 GOSUB '34(785,1,0,1) 

IL9=X0 

IGOSUB '90 (787,L9+8) 

I RETURN 
5300 GOSUB '34<64«F-141 ,13,-999999999.99,999999999.99) 

;D(F-8)=X0 

I RETURN 
5400 GOSUB '3E<E65> 

IPRINTUSING 59S0 ,L1!LS 

IGOSUB '36(11) 

IPRINT L1S;TAB<31 ) 

IGOSUB '36(17) 

IPRINT L3I 

IGOSUB '91IL3I 

IGOSUB '36(17) 

IPRINT L4; 
54E0 GOSUB '9KL4+31 

IGOSUB '36(17) 

IPRINT L5; 

IGOSUB '91 (L5+5) 



r~ st o tzz, r\ 



128 



G/L050 Account File Maintenance 



PROGRAM LISTING 



Total Level field 



Extra Line Advance field 



Sales Account Flag field 



Special Report Flag field 



Amount fields 



Start of main program Open Account file 
for keyed file accessing Enter operation 
code and branch to appropriate program 

area 



Operation is ADD Enter account number 
and make sure it's not already on file 
Create key for account number just en- 
tered 



Enter data for new account Enter 
amounts on regular accounts only 



Operation is DELETE Verify deletion 
Delete key, then branch back to appropri- 
ate program area 



Operation is CHANGE/DELETE Enter ac- 
count number and make sure it is on file 
Retrieve and display account data 



Allow changes to displayed data 



No more changes Save data, then branch 
back to appropriate program area 



Operation is PRINT 



Enter type of report Set page and line 

counters. Make sure printer is on; select 

printer for output Retrieve G/l data 

Locate first Account record 



:GOSUB '36(17) 

: PRINT LG 

:GOSUB '36(17) 

: PRINT L7 
5440 GOSUB '36(17) 

: PRINT L8; 

:GOSUB '91IL8+8) 

:GQSUB '36(17) 

: PRINT LSI 

:GOSUB '9KL9 + B) 
5460 GOSUB '3S(384> 

:FOR 1=1 TO 7 

: GOSUB '36(5S> 

:PRINTUSING 5910 ,D 

:NEXT I 

: RETURN 
5900 %#####.# 
5910 %-#########.## 
59S0 %######.#/## 
6000 GOSUB '130(1,1,2,1 



G/L0F110" ) 
' 33 ( 4 ) 
37(1 ,0,3, "ENTER OPERATION CODE (0=EXIT; 1=ADD; a=CHANGE/ 



6040 ,6180 ,6H80 



r 



60S0 GOSUB 

: GOSUB 

DELETE; 3=PRINT)"> 

:C=X0 

:ON C+l GOTO 6500 , 
6040 GOSUB '33(4) 

: GOSUB ' 33(30) 

: PRINT "ADD "; 
6060 GOSUB 5000 

:IF L1=0 THEN 6030 

:IF Q$0" " THEN 6080 

: GOSUB '35 ("ALREADY ON FILE") 

:GOTO 6060 
60B0 GOSUB '133<1,X0S) 

:IF Q*< ! " " THEN 6060 

IFOR F=l TO 8 

:GOSUB 5100 

:next f 

:IF L3>0 THEN 6340 

:FOR F=9 TO 15 

IGOSUB 5100 

INEXT F 

:GOTO 6240 
6160 GOSUB '37(3, 0,0, "ENTER DELETE CODE") 

:IF X0$<. >"DEL" THEN 6E40 

: PACK ( ######## ) X0*FROML 1 * 1E3 +LH 

:GOSUB '131(1,X0«) 

:IF QSO" " THEN 6E40 

: GOSUB ' 35 ( "RECORD DELETED" ) 

: GOSUB '33(4) 

ION CGOTO 6040 ,6180 
6180 GOSUB '33(30) 

: PRINT "CHANGE "; 
6S00 GOSUB 5000 

:IF L1=0 THEN 60E0 

:IF Q*=" " THEN 63E0 

IGOSUB '35 ("NOT ON FILE") 

:goto saoo 
eeeo gosub 'iio(S) 

:DBACKSPACE #S,1S 

: GOSUB 5400 
6S40 GOSUB ' 37 (2 , , 99 , "ENTER FIELD TO CHANGE ( 99=DELETE ) " ) 

:F=X0 

:IF F = THEN 6S60 

=IF F=99 THEN 6160 

:IF F>15 THEN 6E40 

IGOSUB 5100 

:GOTO 6E40 
6S60 GOSUB '111(E) 

ION C GOTO 6040 ,6180 
6380 GOSUB '33(30) 

: PRINT "PRINT " 
6300 SELECT PRINT 005(64) 

JGOSUB '37(1 ,0,3, "ENTER REPORT TYPE (0=NONE; i DESCRIPTIONS; S=A 

MOUNTS; 3=B0TH>") 

:F3=X0 

:IF FE=0 THEM 60E0 

:P = 

:L=66 

: GOSUB ' 60 

ISELECT PRINT 315(133) 



C3 /L-OSO 



129 



G/1050 Account File Maintenance 



PROGRAM LISTING 



G/L050 



PAGE 3 



Retrieve account data 



Include just regular accounts on 
"amounts only" report 



After checking for page overflow, print 

Account Number and Account Name 

fields. 



Print regular account amounts except on 
"descriptions only" report 



Locate next account. 



nd of program. Close Account file for 
keyed file accessing Reload Menu 



:gosub '42<1> 

:GOSUB '135(1) 
63E0 IF QSO" " THEN 6300 

:G0SUB '110(E) 

:IF F2<>2 THEN 6340 

: IF LSOO THEN 64B0 
•6340 GOSUB '41CGENERAL LEDGER ACCOUNTS" , 1 10 ) 

1PRINTUSING 5900 ,L1 i 

: PRINT TAB(B) ;L1»; 

:IF F3=S THEN 6460 

:IF L2=0 THEN 6360 

: PRINT TABI40) ; "SUB";ls; 
6360 GDSUB '9E<L3,48> 

1GOSUB '92<L4+3,6D 

:GOBUB '92<L5+5,76> 

: PRINT TAB! 80 11 "LEVEL" ;L6; 

:IF L7=9 THEN 63B0 

:IF L7=0 THEN 6400 

: PRINT TAB (BB);L7; "LINES"; 

IGOTO 6400 
63B0 PRINT TAB189) ; "TOP/PAGE"; 
6400 IF L8=0 THEN 64S0 

: PRINT TAB ( 99 ); "SALES ACCT " ; 
64S0 IF L9=0 THEN 6440 

: PRINT TAB ( 1 1 1 ); "SPECIAL REPT"; 
6440 PRINT 

:L=L+1 

-6460 if lsoo then 64b0 
:if fe=1 then 6480 
: print tab (40); 

iprintusing 5910 ,0 ( 1 ) ; d <e ) ; d (3 ) ;d (4 ) ; d (5 ) ;d (6 ) ;d (7 ) 
:l=l+i 

-64B0 GOSUB '137(1) 

:GOTO 63E0 
-6500 DEFFN'15 

: PRINT HEX<03)!"G/L ACCOUNT F/M LOADING MENU" 

: GOSUB '139(1) 

:LOAD DC T"G/L000" 



<3 /L_OSO 



LINE NUMBER CROSS REFERENCE 



PAGE 1 



0101 


- 


5000 








0B37 


- 


0S35 








6000 


- 


S060 


6S00 






5100 


_ 


6080 


6080 


6240 




51E0 


- 


5100 








5140 


- 


5100 


5140 






5160 


- 


5140 








51B0 


- 


5100 








5E00 


- 


5100 








5ES0 


- 


5100 








5S40 


- 


5100 








5260 


- 


5100 








5280 


- 


5100 








5300 


- 


5100 








5400 


- 


6220 








5900 


- 


6340 








S910 


- 


5460 


6460 






59S0 


- 


5400 








6000 


- 


0001 








6020 


- 


6060 


6E00 


6300 




6040 


- 


60E0 


6160 


6E60 




6060 


- 


6060 


6080 






6080 


- 


6060 








6160 


- 


6240 








6180 


- 


60E0 


6160 


6260 




6E00 


- 


6200 








62E0 


- 


6S00 








6240 


- 


6080 


60B0 


6160 6160 6240 6E40 


6E60 


- 


6E40 








6280 


- 


6020 








6300 


- 


6320 








6320 


- 


64B0 








6340 


- 


6320 








6360 


- 


6340 








S3B0 


- 


6360 








6400 


- 


6360 


6360 






6420 


- 


6400 








6440 


- 


6420 








6460 


- 


6340 








6480 


- 


63E0 


6460 


6460 




6500 


- 


60S0 









G /l_OSO 



130 



G/L050 Account File Maintenance 



VARIABLE CROSS REFERENCE 



PAGE a 



CRT location 

Operation code 

Account file 

Fietd to enter or change 

Type of report 

Index 

Line counter 

Account number 

Account name 

Sub-account number 

Account type 

Account's report type 

Account's normal balance 

Account's total level {DB or CR) 

Account's extra line advance 

Sales account 

Special report 

Page counter 

Keyed file accessing status 

Miscellaneous, temporary 

Miscellaneous, temporary 
TAB position 



Al 


- 4100 


C 


- 6030 


D< ) 


- 5300 


F 


- S100 


F3 


- 0B35 


I 


- 5460 


L 


- 6300 


LI 


- 5000 


LI* 


- siao 


LB 


- 5000 


L3 


- 5140 


L4 


- 5180 


L5 


- 5S00 


L6 


- ssao 


L7 


- 5540 


L8 


- 5360 


L9 


- saao 


P 


- 6300 


Q* 


- 6060 


XO 


- 4100 




5E60 


X0$ 


- 4iao 


XI 


- 4140 



6460 6460 6460 6460 

6080 6080 6E40 6S40 6340 6240 

6460 



63S0 6340 6340 6460 
5400 5400 6080 6360 



4100 

60E0 6160 6360 

5460 6460 6460 6460 

5300 5300 6080 6080 

6300 6300 6330 6340 

5460 5460 

6440 6440 6460 6460 

5000 5400 6060 6300 

5400 6340 

5000 5140 5400 6160 

5140 5140 5160 5160 

5180 5400 5450 6360 

5S00 5430 5430 6360 

54E0 6360 

54S0 6360 6360 6360 

5360 5440 5440 6400 

SaSO 5440 5440 64S0 



6080 6160 6300 6330 

41E0 4130 4140 4140 5000 5000 5140 5180 5300 5330 5340 

5580 5300 6030 6340 6300 

41S0 4140 4140 5000 5000 5180 6080 6160 6160 6160 

4140 



<3 /L-OSO 



SPECIAL FUNCTION CROSS REFERENCE G/L050 



15 - 
33 - 

33 - 

34 - 

35 - 

36 - 

37 - 
41 - 
4E - 
60 - 

90 - 

91 - 

ga - 

no 

in 

130 

131 
133 
133 
135 
137 
139 



6500 

4100 5160 5400 5460 6040 6180 6380 

6030 6040 6160 

5000 5000 S1E0 5140 5180 5300 5330 5540 5560 5580 5300 

6060 6160 6300 

5400 5400 5400 5480 5450 5450 5440 5440 5460 

6050 6160 6540 6300 

6340 

6300 

6300 

4100 51B0 5500 5560 5380 

4130 5160 5400 5450 5450 5440 5440 

4140 6360 6360 6360 

6530 633 

6360 

6000 

6160 

5000 

6080 

6300 

6480 

6500 



131 



G/L060 Reorganize 



PROGRAM LISTING 



G/L060 



PAGE 1 



Wait for operator cue to begin 



Load actual reorganize processor 



End program Reload Menu 



S REM G/L060 REORGANIZE 1/79 
30 PRINT HEX (03) ; "G/L ACCOUNT FILE REORGANIZE" 

: PRINT "OK TO BEGIN?" 

: INPUT XO 

:IF X'OOi THEN 40 
30 PRINT HEX (030A0A0A0A) J "REORGANIZE G/L ACCOUNT FILE" 

:LOAD DC T"KFAM3503" 1 ,34 99 
40 DEFFN'IS 

: PRINT HEX (03); "REORGANIZE NOT BEGUN. LOADING MENU." 

:LOAD DC T"G/L000" 



These variables pass parameters to the 
actual reorganize processor 



101 


RETURN 


4E10 


N1*="G/L0F110 




:P1*="B10" 




:N3=1 




:P3*="B10" 




:N3S="UI0RKFILE 




:P3S="B10" 




:03S="Y" 




:oes="C" 




:N4=l 




:P4*="Bio" 




:D4*="Y" 




:n5*="g/looo" 



:P5$="B10" 



G /L_OSO 



LINE NUMBER CROSS REFERENCE 

0001 - 0030 
0040 - 00E0 
3499 - 0030 



<3 / 1_ O S O 



VARIABLE CROSS REFERENCE 



PAGE a 



Source file 

Source key file number 

Output file 

Output key file number 

Program to load after reorganizing 

Output file exists 

Output key file exists 

Copy output over source 

Disk address - source 

Disk address key file 

Disk address - output 

Disk address - output key file 

Disk address - program N5S 

Miscellaneous, temporary 



MIS 


- 4310 


MS 


- 45 10 


M33 


- 42 3 


N4 


- 4310 


N5* 


- 4310 


03* 


- 4310 


04$ 


- 4S10 


06* 


- 4S10 


PI* 


- 4S10 


PS* 


- 4310 


P3S 


- 4310 


P4* 


- 4S10 


PSS 


- 4210 


XO 


- 0030 ooao 



<S /l_OSO 



SPECIAL FUNCTION CROSS REFERENCE G/L060 
IS - 0040 



PAGE 3 



132 



G/L070 General Information File Maintenance 



Program execution begins on line 6000. 



Display CRT maks 1 Display G/l data 



Reload Menu 



Enter field to change Branch to 
subroutines to change fields requested 



PROGRAM LISTING G/L070 

1 GOTO 6000 

5 REM G/L070 GENERAL INFO. F/M 1/79 
101 RETURN 
■ S300 GOSUB '33(5) 

IGOSUB '32(274) 
5301 PRINT G1ITABI9) 

:G05UB '36(19) 

: PRINT GS;TAB(9) 

:G0SUB '36(19) 

: PRINT G3;TAB(9) 

:GOSUB '36(19) 

: PRINT G4;TAB(9) 

: GOSUB '36(19) 

: PRINT G5;TAB(9) 

:FOR 1=1 TO 5 

: GOSUB '36(20) 

: PRINT STR<G2SM1 ) ,1 ,24) 

I NEXT I 
5310 GOSUB '39<306,G3*> 

: PRINT 

: GOSUB '36(51) 

IGOSUB '40<STR(G3$,4> ) 

: PRINT 

: GOSUB '36(51) 

:GOSUB '40(STR(G33i,7l ) 

; PRINT 

:GOSUB '36(51) 

JHEXPRINT STR(G3»,ia,l) 

■.GOSUB '36(51) 

IHEXPRINT STR(G3$,15,1 ) 

: RETURN 
• 5400 DEFFN-15 

: SELECT PRINT 005(64) 

: PRINT HEX(03);"G/I FM LOADING MENU" 

ILOAD DC T"G/L000" 
5900 %COMPAHV CODE ## NEXT CHECK NO. ###### 

HOURLY RATE ##.## FISCAL YR ENDS ## 
5910 XCOMPANY NAME ######################## 

ERS ######################## 
S9£0 %ADDRESS ###################### 

###### ######################## 
6000 GOSUB '4E<1 ) 

: GOSUB 5300 
' 6005 GOSUB '34(128, S, 0,16) 

:C=X0 

:ON C+1GOSUB 5400 ,6010 ,6020 ,6030 ,6040 ,6045 ,6050 
6050 ,6050 ,6050 ,6060 ,6060 ,6060 ,6070 ,6080 ,6100 

IGOSUB '43<G1> 

:GOTO 6005 
6010 GOSUB '34(275,2,1,10) 

:G1=X0 

IGOSUB ' 421X0) 

: GOSUB '32(274) 

: GOSUB 5301 

: RETURN 
6020 GOSUB '34(339,6,1,999999) 

:G2=X0 

: RETURN 
6030 GOSUB '34(403,5,0,99.99) 

:G3=X0 

: RETURN 
6040 GOSUB '34(467,5,0,99.99) 

:G4=X0 

: RETURN 
6045 GOSUB '34(531,2,1,12) 

:gs=xo 

: RETURN 
6050 GOSUB '34(595 + 64*<C-6) ,24,0 ,0) 

;G2*(C-5)=X0* 

: RETURN 
6060 GOSUB '38 (306+64* (C-ll ) ) 

ISTR(G3$,1+3*(C-11> ,3)=X3S 

: RETURN 
6070 GOSUB '34(498,2,1,3) 

: PACK (###### )STR (G3* ,10 1FROMX0 

; RETURN 
6080 GOSUB '34(562,2,1,14) 

: PACK ( ###### ) STR < G3S , 1 3 ) FROM XO 

: RETURN 
6100 GOSUB '60 

: SELECT PRINT 215(131) 



O.T. RATE ##.## 



FED /STATE TAX NUMB 



################## 



G /L070 



133 



G/l 070 fionoral Infn F«l«* Maintenance 



PROGRAM LISTING G/L070 

MF G1.-0 THEN 6105 
:Ga»(l )= "GENERAL INFORMATION" 
6105 L=60 

:p=o 

:g0bub '41 ("general information file maintenance ", 90 ) 

6107 print "period start "; tab ( ib ) ; 

:gosub '40 <str(g3*,4> > 

: PRINT 
6110 PRINT "PERIOD END " ; TAB ( IB ) i 

IGOSUB '40<STR(G3S,7) > 

: PRINT 
6115 PRINT "PAYROLL NUMBER" ; TAB ( IB ) ; 

:HEXPRINT STR(G3*,1S,1 ) 
61S0 PRINT "DAS' NUMBER" ; TAB ( 1 B ) ; 

IHEXPRINT STR(G3S,1S,1 > 
S1B3 IF 51=0 THEN 6200 
61S5 PRINT HEX(OAOA) 
6130 PRINTUSING 5900 ,G1 ,GE ,G3 ,G4 ,G5 

IPRINTUSIHG 5910 ,GS* ( 1 ) ,GSS ( 5 ) 

: PRINTUSING 59S0 ,Ga* <S > ,G3S <3 ) ,GB$ <4 > 
6800 SELECT PRINT 005 < 64) 
•: RETURN 



<S /L070 



LINE 


NU 


IMBER CROSS 


REFERENCE G/L070 


5300 


_ 


6000 




5301 


- 


6010 




5400 


- 


6005 




5900 


- 


6130 




5910 


- 


6130 




5950 


- 


6130 




6000 


- 


0001 




6005 


- 


600S 




6010 


~ 


6005 




60E0 


_ 


6005 




6030 


- 


6005 




6040 


- 


6005 




6045 


- 


6005 




6050 


- 


6005 6005 


6005 6005 6005 


6060 


- 


6005 6005 


6005 


6070 


- 


6005 




60B0 


- 


6005 




6100 


- 


6005 




6105 


- 


6100 




6S00 


- 


6133 





G/L070 



134 



G/L070 General Information File Maintenance 



VARIABLE CROSS REFERENCE 



Operation code 

Company number 

Next P/R check number 

G/l file 

P/R overtime rate multiplier 

G/l file 

P/R hourly rate 

Month the fiscal year ends 

Index 

Line counter 

Page counter 

Miscellaneous, temporary 

Temporary 

Today's date (packed BCD! 



• C 

■ Gl 

• G3 

• GSS ( I 

■ G3 

• G3S 

■ G4 

• G5 

■ I 

• L 

■ P 

• XO 

■ xo* 

• X3* 



600S 
5301 
5301 
5301 
5301 
5310 
5301 
5301 
5301 
6105 
6105 
6005 
6050 
6060 



6005 6050 6050 6060 6060 

6005 6010 6100 6153 6130 

6020 6130 

6050 6100 6130 6130 6130 6130 6130 

6030 6130 

5310 5310 5310 5310 6060 6070 6080 6107 6110 6115 61S0 

6040 6130 

6045 6130 

5301 5301 



6010 6010 60S0 6030 6040 6045 



G /L070 



SPECIAL FUNCTION CROSS REFERENCE G/L070 



15 - 


5400 




3S - 


5300 


6010 


33 - 


5300 




34 - 


6005 


6010 


36 - 


5301 


5301 


38 - 


6060 




39 - 


5310 




40 - 


5310 


5310 


41 - 


6105 




4S - 


6000 


6010 


43 - 


6005 




60 - 


6100 





6020 6030 6040 
5301 5301 5301 



6107 6110 



6045 6050 
5310 5310 



6070 

5310 



60B0 

5310 



135 



(ill fillRfi Cnmmnn !Ciil>rniit>noc 



PROGRAM LISTING 



G/L SUBS 



PAGE 1 



Execution begins on tine 6000, 



Position CRT cursor to location A3 Break A3 
into line and column components, and use 
as the print-lengths of string variables con- 
taining horizontal and vertical tab charac- 
ters 



Secondary entry point to the CRT cursor 
positioning subroutine Perform a horizontal 
tab without erasing tabbed-over characters. 



Load and display CRT mask A1 The mask is 
stored in four 256 byte segments- 



Input numeric or alphanumeric data at cur- 
sor position X1, checking for validity as 
specified by X3 and X4 



Redefine CPU internal line length counter for 

CRT, 



Display a field of asterisks at the specified 
input location. 



Input one character from the keyboard (no 
echo to CRT) Go to line 395 if a regular key 
was struck. Go to line 525 if a Special Func- 
tion Key (SFK) was struck 



Check for RETURN key 



If BACKSPACE was struck, back out the last 
character entered, if any 



Check for LINE ERASE (erases input by 
restarting input routine}. 



Disallow special code keys (eg PRINT. 
RUN, INDEX), 



Check current position pointer, X2. against 
maximum input length count. X5 If within 
range, echo last input key to CRT and store 
in input buffer, X0$ Otherwise, ignore last 
key struck. 



RETURN was struck If alphanumeric data is 
being input, go to line 510 Otherwise, check 
that only numeric data is in the input buffer, 
and that it is within the upper and lower 
limits (X3, X4) 



Reset CPU internal line count for CRT 



An SFK was pressed If it was not SFK 1 5 ig- 
nore it SFK 15 always reloads the Menu 
program 



Flash a message on the fourth line of the 

CRT. 



Display prompt message X4$ on the second 
line of the CRT Input numeric or 
alphanumeric data on the third line of the 

CRT 



Erase any previous prompt message and en- 
try on the second and third lines 




1 GOTO 6000 

5 REM G/L SUBS COMMON SUBROUTINES 1/79 
101 RETURN 

■ S00 DIM X1*1S,XS*G4 
310 DEFFN'3S(A3) 

:X1*,XS*=HEX(00) 

:INIT(0A)STR(Xl*,a> 

:INIT(09)STR(XS*,2) 

:Al=INT(A3/64) 

:AS=A3-A1*64+1 

: PRINT HEX(0D01 ) ;STR(X1*,1 ,A1+1 > ; 
-E15 DEFFN'36(A£) 

:PRINT STRIXES.l ,AS>; 

: RETURN 
-S40 DIM X3SI4164 
550 DEFFN'33(Ai ) 

:LIMITS T"CRT3" ,A0,Ae,AE 

:AE=A0+ (Al-1 )*4 

: SELECT PRINT 005(65) 

: PRINT HEX (01 ) 

:FOR A1=0 TO 3 

IDATA LOAD BA T ( AS ,AS )X3* ( ) 

: PRINT STR(X3*<1 ) ,1 ,64 > ;STR < X3« (E > ,1 , 64 > ;STR (X3S (3 > ,1 ,64);STR(X3 

$ (41 ,1 ,64); 

INEXT Al 

: SELECT PRINT 005(64) 

: RETURN 
-310 DIM XS1 ,X0*64 
345 DEFFN'34(X1 ,XH,X3,X4) 

:SELECT PRINT 005(E5S) 
3S5 GDSUB '3S(X1 ) 

:>:5=l 

:INIT(EA>X0* 

: PRINT STR(X0S,1 ,XE) ; 

:X0S=" " 

: GOSUB '3E(X1> 
-3B5 KEVIN X*, 395 , 5E5 

:GOTO 385 
-395 IF X*=HEX(0D) THEN 475 

:IF XSi;HEX(08) THEN 430 

:IF X5=l THEN 385 

: PRINT HEX(0BEA08); 

:xs=xs-l 

:stro:os,x.5,i ) = " " 

:GOTO 385 
-430 IF XS=HEX(E5> THEN 355 
:IF XSKHEMBO) THEN 3B5 
:IF X«.:HEX(5F> THEN 385 
:IF XS>xE THEM 385 
: PRINT >:%• 
:s'i'k txos, xb,i >=xs 
:X5=XS+1 
IGOTO 385 

■ 475 IF >:4=0 THEN 510 

:xo=o 

!IF X0S=" " THEN 480 

:IF NUM(X0*X.E4 THEN 505 

: CONVERT XO* TO XO 

:IF X0o:3 THEN 505 

:IF X0<:=X4 THEN 510 
480 IF X0..X3 THEN 505 

IIF X0<=X4 THEN 510 
505 GOSUB '35 ("OUT OF RANGE") 

:GOTO 355 
510 SELECT PRINT 005(64) 

: RETURN 
585 IF VAL(XS).,;1S THEN 355 

: GDSUB '15 
615 DEFFN ' 35 ( XES ) 

: SELECT P3 

:F0R Al=l TO 3 

! PRINT HEX(ODOIOAOAOA) ;Xa* 

:PRINT HEX(ODOIOAOAOA) ;TAB(64) 

:NEXT Al 

: SELECT P 

: RETURN 

■ 660 DIM X43564 

665 DEFFN ' 37 ( X2 , X3 , X4 , X4S ) 
: GOSUB '35(64) 
: PRINT TAB ( 64 ) 
: PRINT TAB (64); 

C3 /l_ SOBS 



136 



G/L SUBS Common Subroutines 



PROGRAM LISTING 



G/L BUBS 



Call subroutine to do actual inputting of 

data 



Input a date at CRT position A1 . The date 
is input as six numeric digits Limited 
validity checking is performed The date 
is input as an alphanumeric 
string.converted to a numeric value, then 
packed into another alphanumeric string 
The date is redisplayed with slashes sep- 
arating month, day and year 



Display a packed date at CRT location A1 



Unpack and print date with slashes bet- 
ween month, day, and year. 



Print numeric date 



Load and unpack the General Information 

file data If A1 is not zero, also load and 

unpack the General Information file data 

for company numer A1 



Pack and save General Information record 
for system or company data 



Subroutine to check for full printed page 

If page not full, return. On full page, skip 

to top of next page, increment page 

counter and print page headings. 



Each program using this subroutine has 

its own lines between 830 and 840 

which print column headings 



Reset line counter and return 



Print a "printer not ready" message on 
the CRT. Then print a blank line on the 
printer If the printer is off, the CPU will 
hang, waiting for the printer to be turned 
on. Once the printer is on, erase the 
"printer not ready" message 



Open keyed file. 



Delete record from keyed file (delete key) 



Locate specific record in keyed file (find 

keyl 



_r 



:GOSUB '3E<64> 
: PRINT X4* 

:gosub '34<iee,xe,x3,x4> 
:X4*=" " 

: RETURN 
670 DIM X3*3 
673 DEFFN'38(A4> 

:GOSUB '3a<A4> 

: PRINT " " -, 

:GOSUB '34<A4+E,6,0,0> 

:IF NUM(X0*><6 THEN 675 

:IF STR(X0S,1.S><"01" THEN 675 

:IF STR(X0*,1,S)>"1S" THEN 675 

:IF STR(X0*,3,S)<"01" THEN 575 

: IF STR ( XO* , 3 , 3 ) > "31 " THEN 675 

: CONVERT XO* TO XO 

: PACK ( ###### ) X3SFR0MX0 

ZGOSUB '39(A4,X3*( 

: RETURN 
675 GOSUB '35 ("INVALID DATE") 

:GOTO 670 
680 DEFFN'39<A1 ,X0*( 

:GOSUB '3E(A1> 

690 DEFFN '40 <X0*> 

: UNPACK <###### >X0* TO XO 

691 DEFFN '73 (XO) 

: CONVERT XO TO XO* , (######) 

:PR1NTUSING 695 ,X0*;STR (XO* ,3 ) ; STRIXO* ,5 > ; 

: RETURN 
695 %##/##/## 

700 DIM Gl*9,Ga*(5)S4,G3*E4 
70S DEFFN'4S(A1 ) 

:DATA LOAD DC OPEN T"G/I0F010" 

■.DATA LOAD DC G1*,G3* 

:IF A1=0 THEN 101 

IDSKIP Ai-lS 

:DATA LOAD DC G1*,GE*<) 

: UNPACK (##)G1* TO Gl 

:UNPACK(######)STR(G1*,E) TO GS 

:UNPACK(##.##(STR(G1S,S) TO G3,G4 

:UNPACK(##)STR(G1*,9> TO G5 

: RETURN 
7S0 DEFFN' 43 <A1 ) 

:DATA LOAD DC OPEN T"G/I0F010" 

:DATA SAVE DC G1*,G3* 

:IF A1=0 THEN 101 

:DSKIP A1-1S 

:PACK<##)G1*FR0MG1 

: PACK (###### (STR (Gl* , E (FROMGE 

I PACK <## .## )STR (Gl* , 5 (FRQMG3 ,G4 

: PACK (## (STR (Gl* ,9 (FR0MG5 

IDATA SAVE DC G1*,G2*() 

: RETURN 
8a0 DIM X4*64 
8E5 DEFFN'41 <X4*,A1 ) 

:IF L<55 THEN 101 

:P=p+l 

: PRINT HEX(0C(;TAB( ( Al -LEN <GE* ( 1 ) ) )/E);Ga*U CTABIAl ); 

: GOSUB '40<G3S> 

: PRINT 
B30 PRINT TAB< (A1-LENIX4*) )/E);X4*;TAB(Al);"PAGE";P 

: PRINT HEX(OA) 
840 PRINT HEX(OA) 

:L=6 

: RETURN 
1000 DEFFN '60 

:PRINT HEX(ODOIOAOAOA); "PRINTER NOT READY"; 

: SELECT PRINT El 5 

: PRINT HEX (01 ) 

: PRINT HEX (01 ) 

: SELECT PRINT 005 

: PRINT HEX(0DI ; TAB (63) 

: RETURN 
E000 DEFFN ' 130 (T6 ,T7 ,QE ,Q3 , V7* ) 

:GOSUB 'E30(T6,T7,QE,Q3,V7*) 

:GOTO E100 
DEFFN'131 (T6,T1») 

JGOSUB -a31<T6,0,TlS> 

:GOTO E100 
DEFFN' 132 <T6,T1S> 

:GOSUB 'E3E(T6,0 ,T1*I 



<S /\— SLJE3S 



137 



G/L SUBS Common Subroutines 



PROGRAM LISTING 



G/L SUBS 



Add new record to keyed file (insert key). 



Find first record in keyed file (lowest key). 



Find next record in keyed file (next key) 



Close keyed file. 



If file 2 was accessed (not applicable in 
General Ledger), save record block factor 

in W. 



Check staius of key file access 



Load and unpack G/L Account record 



Pack and save G/L Account record 



Unpack the next blocked G/L Posting 
record 



Load another block of G/L Posting 
records , 



End of file encountered 



Pack a blocked G/L Posting record 



Save a full block of G/L Posting records; 
start another 



:GOTO S100 
-aOlS DEFFN'133(T6,T1SH 

:GOSUB 'E33<T6,0,T1S,0> 

■.GOTO SI 00 
-S0S0 DEFFN'13S<T6) 

IGOSUB '535 (TG> 

:GOTO S100 
-a025 DEFFN'137(T6) 

IGOSUB 'E37IT6) 

:GOTO SI 00 
-E030 DEFFN'139<TG> 

:GOSUB '239 ITS) 
-SlOO IF T901 THEN S105 

-3105 IF Q*<"0" THEN 101 
:IF G$="S" THEN E110 
:STOP "FILE ACCESS ERROR" 
:STOP 
:GOTO aioo 

ailO GOSUB '35 ("FILE FULL - RUN REORGANIZE") 

: RETURN 
-3500 DIM L$4S,D*G0,L1S31 ,DU0> 
3510 DEFFN'llOlAl ) 

IDATA LOAD DC #A1,L$,D* 

:UNPACK(#####.#)LS TO LI 

: UNPACK (##)STR(LS, 4) TO La,L3 

:L1*=STR(L»,6,31) 

:UNPACK(##)STR(LS,37) TO L4 ,L5 ,L6 ,L7 ,LB ,L9 

: UNPACK <-#########. ##>D* TO D() 

: RETURN 
■3550 DEFFN'lll (Al ) 

: PACK (#####. #)LS FROM LI 

:PACK(##)STR(L*,4) FROM LE,L3 

:STRCL*,G,31 )=L1S 

:PACK(##)STR(LS,37) FROM L4, 

: PACK <-#########. ##)D* FROM 

:DATA SAVE DC #A1,LS,DS 

: RETURN 
■3600 DIM GSU6114 
3610 DEFFN'llEIAl > 

:G7=G7+1 

:IF G7<17 THEN 36E0 

:DATA LOAD DC #A1,G»<> 

:IF END THEN 101 

:G7 = 1 
3650 IF STR<G*(G7> ,1 ,1 >=HEX<F0> THEN 3630 

:UNPACK(#####.#)G«(G7) TO PI 

: UNPACK <##>STR(G*(G7> ,4) TO PS 

: UNPACK (##.##)STR(G*(G7) ,5) TO P3 
36E5 UNPACK (###### )STR(GS(G7) ,7 ) TO P4 

: UNPACK (-sssssis. its )STP(G*(G7) ,10) TO PS 

' 3630 P1=0 

: RETURN 
■ 3650 DIM G*(16)14 
3660 DEFFN'113(A1 ) 

:GB=GS+1 

:IF GB<17 THEN 36B0 

:DATA SAVE DC #A1,G»() 

JDATA SAVE DC #A1 ,END 

:DBACKSPACE #A1 ,1S 



,L5,L6,L7,L8 
D( ) 



L9 



:GB = l 

:INIT(00)GS( ) 
3680 PACK(#####.#)G*(GB)FR0MP1 

:PACK(##)STR(G*(GB) ,4)FROMPS 
:PACK(##.##)STR(GS(G8) ,5>FR0MP3 
: PACK <###### >STR <GS <G8 > ,7 1FR0MP4 
:PACk (-#######. ##)STR(G*<GB> ,10)FROMP5 
: RETURN 



G • I- SUBS 



138 



G/L SUBS Common Subroutines 



LINE NUMBER CROSS REFERENCE 



G/L SUBS 



0101 


- 


0705 


07S0 


0835 


eios 


3610 




0355 


- 


0430 


050S 


05S5 








0385 


- 


0385 


0395 


0395 


0430 


0430 


0430 0430 


0395 


- 


03BS 












0430 


- 


0395 












0475 


- 


0395 












0480 


- 


0475 












0505 


- 


0475 


047S 


0480 








0510 


- 


0475 


0475 


0480 








oses 


- 


0385 












0670 


- 


0675 












0675 


- 


0673 


0673 


0673 


0673 


0673 




0695 


- 


0691 












S100 


- 


aooo 


S005 


S010 


S015 


soeo 


S0S5 bios 


BIOS 


- 


aioo 












E1I0 


- 


E105 












36S0 


- 


3610 












3630 


- 


3620 












3680 


- 


3660 












6000 


- 


0001 













VARIABLE CROSS REFERENCE 



G /\— SUBS 



PAGE S 



Temporarily stores start sector of CRT Mask file 
Many temporary uses throughout com subs 



Many temporary uses throughout com subs 

Compund cursor position (temporary! 

CRT location for data input {temporary) 

Account file 

Account file 

Q/L Posting file 

Company number 

G/l file 

Next P/R check number 

Company name and address 

Overtime rate multiplier {P/R) . 

G/l file 

G/l hourly rate (unused here) 

Month the fiscal year ends 

Posting file blocking factor (loading) 

Posting file blocking factor (saving) 

Sectors remaining in Posting file 

Line counter for reports 

Account file 

Account number 

Account name 

Sub-account number 

Account type 

Account's report type 

Account's normal balance 

Account's total level 

Account's extra line advance 

Sales Account flag 

"Include account on special report" flag 

Page counter for reports 

Posting account number 

Posting source code 

Posting date (month & day) 

Posting reference . 

Posting amount 

Blocking factor for keyed files . 

Keyed file access subroutine's execution status . 

Keyed file access subroutine's internal use 

Keyed file access subroutine's internal use 

Keyed file access subroutine's key ■ 
Keyed file access subroutine's file number ■ 

Keyed file access subroutine's internal use ■ 

Keyed file access subroutine's file number ■ 

Keyed file access subroutine's fiie name ■ 

Not used . 

One-character keyboard input • 

Value of numeric keyboard entry . 

Value of alphanumeric keyboard entry . 

CRT location for keyboard entry (temporary) • 

Line feeds for vertical cursor positioning • 

Number of characters for keyboard entry • 

Horizontal cursor positioning characters . 

Lowest allowable numeric keyboard entry . 

Packed format of entered date . 

Used temporarily to load and display CRT mask . 

Type of entry; highest allowable numeric . 

Miscellaneous, temporary . 

Count of current characters from keyboard entry . 



AO 
Al 



• AS 

■ A3 

■ A4 

• D* 

■ D( ) 

■ G*< ) 

- Gl 

• Gl* 

• G3 

• GE* l ) 

- G3 

- G3* 
G4 
G5 
G7 
G8 
G9 

■ L 
LS 

■ LI 
LI* 

■ ls 

■ L3 
L4 
L5 
L6 
L7 
L8 
L9 
P 
PI 
PE 
P3 
P4 
PS 
Q 

Q* 
QS 
33 
Tl* 
T6 

T7 

T9 

V7* 

W 

X* 

XO 

XOS 

XI 
XI* 

xa 
xa* 

X3 

X3* 

X3* ( I 

X4 

X4* 

XS 



- 0E60 

■ oaio 

0705 
3610 

- 0E10 

• oaio 

- 0673 

■ 3500 

■ 3500 

• 3600 
3680 

■ 0705 

■ 0700 
0705 
0700 
0705 
0700 
0705 
0705 
3610 
3660 
3660 
OSES 
3500 
3510 
3500 
3510 
3510 
3510 
3510 
3510 
3510 
3510 
3510 
08E5 
36E0 
36E0 
36E0 
3685 
36E5 
E100 

aios 
aooo 
aooo 
aoo5 
aooo 
ao30 
aooo 
aioo 
aooo 
aioo 

0310 
0475 
0310 
0673 
0345 

oaoo 

0345 

oaoo 

0345 
0670 

oa4o 

0345 
0660 
03S5 



oaeo 
oaio 
o7ao 

3610 

oais 
oaio 

0673 
3510 
3510 
3610 
3680 



0510 
07E0 
3660 
0S15 

oaio 

0673 
3510 

3630 
3680 



0705 0705 

0705 07E0 

0705 0750 
07E0 

3610 3610 
3660 3660 
3660 
0840 
3510 3510 

3S10 3550 

35S0 

3550 

3550 

3550 

3550 

3550 

OSES 0830 

3630 



aios 
aooo 
aooo 

aoos soio 
aooo aoos 

E030 

aooo 
aooo 



0E60 0260 0E60 0860 0615 0615 0680 0680 0705 
0835 08E5 0BS5 0830 0830 3510 3510 3550 3550 
3660 3660 3660 

oaeo 0260 oa6o oaeo 0260 

0673 
3550 3550 

36E0 36E0 36S0 3625 3625 3650 3660 3660 3680 
3680 

0705 0705 0720 07E0 07EO 0780 

08E5 OSES 

oeas 



3610 3630 36E0 3620 3620 3685 36E5 
3660 3680 3680 3680 3680 3680 



3510 3510 3510 3550 3550 3550 3550 3550 



0385 
0475 
0355 
0673 
0355 
0210 
0355 

oaio 

047S 
0673 

oaeo 

0475 
066S 
0395 



0395 
047S 
03S5 
0673 

0355 

oaio 

0430 
0E10 
0480 
0673 
0E60 
0475 
0665 
0395 



8010 B015 2015 

aoos 2010 aoio eois aois aoao aoao eoas boss 



0395 0430 0430 0430 0430 0430 05SS 

0475 0480 0480 0673 0690 0691 0691 

0355 0395 0430 0475 0475 0475 0673 0673 0673 

0680 0690 0690 0691 0691 0691 0691 

0S10 

0665 0665 
OBIS 0615 0615 
0665 0665 

0260 0B60 0260 

0480 066S 0665 

0665 08SO 0BB5 0830 0830 

0395 0395 0430 0430 0430 0430 



<3 /\— SUBS 



139 



G/L SUBS Common Subroutines 

SPECIAL FUNCTION CROSS REFERENCE G/L SUBS 



15 - 


05E5 








3E - 


0E10 


0355 


0355 


0665 0665 0673 06B0 


33 - 


0560 








34 - 


0345 


0665 


0673 




35 - 


0505 


0615 


0675 


eno 


36 - 


0E15 








37 - 


0665 








38 - 


0673 








39 - 


0673 


0680 






40 - 


0690 


08E5 






41 - 


08E5 








4S - 


0705 








43 - 


07E0 








60 - 


1000 








7E - 


0691 








110 - 


3510 








111 - 


3550 








na - 


3S10 








113 - 


3660 








130 - 


EOOO 








131 - 


E005 








13E - 


E010 








133 - 


aois 








135 - 


eoeo 








137 - 


E0S5 








139 - 


E030 








B30 - 


EOOO 








E31 - 


S005 








E3E - 


E010 








S33 - 


E015 








S35 - 


EOEO 








E37 - 


E0E5 








S39 - 


E030 









140 



CRTFM CRT File Maintenance 



PROGRAM LISTING 



CRTFM 



PAGE 1 



Display error message. 



Input valid numeric or alphanumeric data. If 
A2 equals zero, input alphanumeric and A1 
equals maximum input length. Otherwise. 
A2 equals low limit, A1 equals high limit of 
numeric input. 



5 
100 
130 
135 
140 
145 
150 

aio 

515 
220 
HS5 
230 
£35 
350 
ESS 

aeo 

330 



Position cursor to CRT location A3 and erase 
A4 lines. 



Position cursor to CRT location A3. 



Load and display CRT mask A5. 



Open requested CRT file on unit specified. 



335 
340 
345 

350 
355 
360 
355 
370 
375 
3B0 
385 
390 
580 
585 
595 
600 



605 
620 
625 
630 
640 
650 
665 

670 

660 

700 
730 
750 
760 

770 
780 

7B5 



790 

BOO 

810 

-1000 



REM CRTFM CRT FILE MAINTENANCE 
DIM A*(16)64 

DIM Xl*16, X2*64, K9«<4>64, 1*5, 
INIT(OA) Xl» 



10*40, 11*57, 12*40 



,1,1) ,STR(X2*,1 ,1) 



INIT(09) X2« 
INIT(OO) STR(X1S 
GOTO 1000 
DEFFN' 16(12*) 
GOSUB ' 21(192,1) 
SELECT P9 
PRINT IE* 
SELECT PO 
RETURN 

DEFFN' 17<A2> 

PACK <######## > STR(I0*,2) FROM AE 
RETURN 

DEFFN' 19 (Al ,A2,I1») 
IF AEOO THEN 335 
I0«=" " 

GOSUB ' 21(64,2) 
PRINT "ENTER "; II* 
INPUT 10* 

IF A2=0 THEN 395 
IF NUM(I0*)<16 THEN 375 
CONVERT 10* TO 10- 
IF I0<A1 THEN 375 
IF I0>A2 THEN 375 
RETURN 

GOSUB ' 1 6 ( " INVALID . . . REENTER " ) 
GOTO 335 

IF LEN<I0*)>A1 THEN 375 
RETURN 

DEFFN' 21<A3,A4) 
GOSUB ' 23 (A3) 
PRINT TAB (63); 
A4=A4-1 

IF A4=0 THEN 605 
PRINT 
GOTO 595 
GOTO 670 
DEFFN' 22 (Al) 
CONVERT Al TO 10*. 
PRINT STR(I0*,1 ,2); 
RETURN 

DEFFN' 23 (A3) 
P3»INT(A3/64) 
P4=-A3-P3*64 
PRINT HEX (01) 
PRINT HEX(Ol); 
RETURN 

DEFFN' 90 (A5) 
K9=K8+(A5-1 >*4 
SELECT PRINT 005(65) 
PRINT HEX (03) 
FOR A5=0 TO 3 

DATA LOAD BA T#l , (K9 ,K9 )K9* ( ) 

PRINT STR(K9*(1> ,1,64); STR (K9* (2 ) , 1 ,64 ) ; STR <K9* (3) ,1 ,64) ; 
STR(K9*(4> ,1 ,64); 

A*( (A5*4)+l )»K9*(1> 

A*( <A5*4)+2)=K9*(2) 

A*( (A5»4)+3)=K9*(3> 

A*( <A5*4)+4)»K9*(4) 

NEXT A5 

SELECT PRINT 005(64) 

RETURN 

SELECT PRINT 005(64), 



(######) 

"-"; STR(I0*,3,2); 



STR(I0*,5,2) 



STR(X1*,1 ,P3+1 ); STR(X2*,1 ,P4+1 > 



Input operation code. Use subroutine to pro- 
cess operation. 



#1 BIO 

1001 PRINT HEX(03) 

:GOSUB '19 (1,0, "IF CRT MASK FILE IS ON (F)IXED OR ( R ) EMOVABLE " ) 

1002 IF I0*="R" THEN 1003 
: SELECT #1310 

1003 GOSUB '19(8,0, "NAME OF FILE") 
:-F9* = I0* 

1004 LIMITS T#1,F9*,KB,A3,A3 
-1010 DEFFN' 14 

: SELECT PRINT 005(64) 

: PRINT HEX(03); "CRT MASK FILE MAINTENANCE" 
1015 DATA LOAD DC OPEN T #1 ,F9* 
1020 PRINT HEX (0A0A0A); "(O)END" 
1030 PRINT "(1 (INQUIRE" 
1040 PRINT "(2)CHANGE-ADD-REPLACE" 
1050 PRINT "(3)PRINT" 



CRTFM 



141 



rnrcivti pdt e:i» an. 



PROGRAM LISTING 



CRTFM 



PAGE E 



End program. 



Input first mask number to display. 



Display mask, wait for keystroke, then dis- 
play nest mask. If E is struck, re-request 
operation code. 



Input number of mask to be changed Dis- 
play mask. 



Input location on mask to start changes. 



Redisplay mask lines obliterated by input. 



Use subroutine to make changes. If SFK 

struck, re-request mask location to be 

changed. 



Save mask. 



Input number of mask to be printed Make 
sure mask is on file, then print mask. 



See if mask A1 is on file. 



1060 

1070 

-1080 

-aooo 

-aoio 

aoao 

aoas 
ao3o 

ao4o 
ao50 

-3000 

3010 
30H0 
3030 
3035 
3040 
-3050 

3055 



GOSUB '19(0,6, "OPERATION CODE") 

IF 10=0 THEN 1080 

ON 10 GOSUB H000 , 3000 , 4000 

GOTO 1010 

DEFFN'15 

END 

PRINT HEXI03); "CRT MASK FILE INQUIRY" 

GOSUB ' 19(0,999, "FIRST MASK NUMBER") 

GOSUB ' B9II0) 

10*=" " 

IF AKO THEN 33E0 

KEVIN 10*, E040 , E030 

GOTO E030 

IF I0S="E" THEN 33E0 

10=10+1 

goto aoao 

PRINT HEX (03); "CRT MASK FILE CHANGE -ADD -REPLACE " 

GOSUB ' 19(3,0, "MASK NUMBER TO CHANGE (OR NEW)") 

IF I0*="NEW" THEN 3500 

CONVERT 10* TO 10 

GOSUB ' 89(10) 

IF AKO THEN 3000 

K9=K9-4 

GOSUB ' 19(0, 10E3, "LINE OR COMPOUND POSITION TO START CHANGES" 



) 



3060 
3070 
3080 
3090 
-3100 



3110 

-31E0 

3130 

3140 
-3E50 
3360 
3E70 
3H80 

3300 
3310 
33E0 
3500 

3510 
35E0 



IF I0<16 THEN 3060 

L=INT( 10/64) 

C=I0-L*64+1 

L=L+1 

GOTO 3090 

L=I0+1 

GOSUB ' 13(0,63 

C=I0+1 

GOSUB ' 51(0,3) 

PRINT A* ( 1 ) 

PRINT A*(E> 

PRINT A* (3) 

GOSUB ' E3( (L-l )*64+C-l ) 

FOR I=L TO 16 

GOSUB ' 40 

IF C=-l THEN 3050 

NEXT I 

FOR A1=0 TO 3 

K9SI1 )=A*(A1*4+1) 

K9*(E)=A*(Al*4+a) 

K9S(3)=AS(Al»4+3) 



COLUMN TO START CHANGES " ) 



DATA SAVE BA T*#l 

NEXT Al 

RETURN 

DSKIP #1, END 

LIMITS T #1 , K9, 

DSKIP #1 , 4S 

DATA SAVE DC #1 , 

INIT(EO) A«( ) 

GOTO 3050 

PRINT HEX (03) 



(K9.K9) K9*(> 



K9, K9 



END 



-4000 PRINT HEX (03); "CRT MASK FILE PRINT" 

: GOSUB ' 19(0,999, "FIRST MASK NUMBER (0 IF NONE)") 
:IF 10=0 THEN 390 
F=I0 

GOSUB ' 19 (F, 999, "LAST MASK NUMBER") 
L-IO 

FOR J=F TO L 
GOSUB ' 88 (J) 
IF A1>=0 THEN 4075 
I0 = (A3--E)/4 
K9=KB+(J-1 >*4 
IF J>10 THEN 33E0 
SELECT PRINT 315(139) 
GOSUB ' 91 

PRINT HEX(OAOAOD) ;HEX(09) ; "MASK NO . " ; J 
PRINT HEX(OAOAOA) 
:NEXT J 

: SELECT PRINT 005(64) 
:GOTO "000 
-5000 DEFFN' 88 (Al) 

: IF AKO THEN 5030 
5010 LIMITS T#1,F9S,A3, A3, A3 
50E0 IF AK=(A3-E)/4 THEN 5040 
5030 Al=-1 
5040 RETURN 



4005 



4020 
4030 
4040 

4075 
4077 

4090 
409S 
4094 



CRTFM 



142 



CRTFM CRT File Maintenance 



PROGRAM LISTING 



CRTFM 



If mask A 1 is on file, load and display it 



PAGE 3 



Input one line of CRT mask. 



Input one character. 



If any SFK struck, get new change location. 



If RETURN struck, go to start of next line. 
If PI (rr) struck, end changes for this mask 



If COS struck, move up 1 line. 



If SIN( struck, drop down 1 line. 



If BACKSPACE struck, back cursor up one 
space 



If PRINT struck, advance cursor one space, 
(no erasure). 



Any other keystroke causes changes to 

mask. 



Load and print CRT mask 



> 



5140 



THEN 5204 
THEN 5220 



-5050 DEFFN' 89<A1> 
5060 GQSUB ' 88<A1) 
5070 IF AK0 THEN 5090 
5080 GOSUB ' 90 (Al) 
5090 RETURN 
-5100 DEFFN' 40 
5110 SELECT PRINT 005(855) 
51E0 FOR J=C TO 64 
-5130 KEVIN A*, 5150 

: GOTO 5130 
-5140 C=-l 

: RETURN 
-5150 IF AS=HEX(0D> 
-5160 IF A3>=HEX(CC) 
-5165 IF A$=HEX(C7) THEN 5E50 
-5170 IF AS=HEX(C3) THEN 5ci00 
-5130 IF AS=HEX(08) THEN 5E30 
-5185 IF AS=HEX(A0> THEN 5245 
-5190 STR(ASd) ,J,1)=A* 

: PRINT STR(A*(I> ,J,1 >; 
5195 NEXT J 

: GOTO 5E04 
5200 C=J 

: PRINT HEX(OA) ; 
:GOTO 5E05 
5204 C = l 

: PRINT 
5E05 IF 1=16 THEN 5810 
5510 SELECT PRINT 005(64) 

: RETURN 
52E0 1=17 

: GOTO 5E10 
5S30 IF J=l THEN 5130 

: PRINT HEX (08); 
5E40 J=J-1 

: GOTO 5130 
5245 PRINT HEX (09) ; 

IGOTO 5195 
5250 IF 1=1 THEN 5130 

:l=I-2 

: PRINT HEX(OC); 

;C=J 

: RETURN 
-5255 DEFFN' 91 
5260 FOR A1=0 TO 3 
5270 ; DATA LOAD BA T#l 
5780 FOR A2=l TO 4 

: PRINT K9SIA2) 

: NEXT A2 
5790 NEXT Al 

: RETURN 
5800 PRINT STR(K9»(1 ) 

: PRINT STR(K9*(3) 
5810 GOTO 5790 



, (K9,K9)K9$( ) 



1 , 64 ) ; 

1,64); K9*(4) 



CRTFM 



LINE NUMBER CROSS REFERENCE 



CRTFM 



PAGE 1 



0335 


- 


0330 


0380 


0375 


- 


0350 


0360 0365 0385 


0385 


- 


0345 




0390 


- 


4000 




0595 


- 


0600 




0605 


- 


0600 




0670 


- 


0605 




1000 


- 


0150 




1003 


- 


1002 




1010 


- 


1070 




1080 


- 


1060 




2000 


- 


1070 




2020 


- 


2050 




2030 


- 


2030 


2030 


2040 


- 


2030 




3000 


- 


1070 


3035 


3050 


- 


3130 


3520 



143 



<un i rrvi om niw ivitaiinouaiiuD 



3060 


_ 


3055 




3090 


- 


3055 




33S0 


- 


2025 


2040 4077 


3500 


- 


3010 




4000 


~ 


1070 


4094 


4075 


~ 


4040 




5030 


- 


5000 




5040 


- 


5020 




5090 


- 


5070 




5130 


- 


5130 


5230 5240 5B50 


5140 


- 


5130 




5150 


- 


5130 




5195 


- 


5245 




5200 


- 


5170 




5304 


- 


5150 


5195 


5S05 


- 


SE00 




5210 


- 


5205 


52S0 


5220 


- 


5160 




5E30 


- 


51B0 




5245 


- 


5185 




5250 


- 


5165 




5790 


- 


5810 





CRTFM 



VARIABLE CROSS REFERENCE 



CRTFM 



PAGE 2 



Keyboard entry 
Entire 16-line mask 

Miscellaneous, temporary 

Miscellaneous, temporary 

Miscellaneous, temporary 

Number of CRT lines to erase 

Mask number to display 

Column to start mask changes in 

Start of mask print range 

Mask file name 

Index 

Not used 

Numeric keyboard entry 

AlDhanumeric keyboard entry 

Prompt message 

Bulletin 

Index 

Start address of CRT Mask file 
Next sector of current mask. 

Mask load/save buffer 

Line to make mask changes on 

Cursor column position 

Cursor line position 

Line feeds for vertical cursor positioning 

Horizontal cursor positioning characters 



AS 

A*( > 

• Al 

. A2 

• A3 
. A4 
. A5 
•C 
■F 

■F9$ 
■I 
-I* 
-10 

- 10* 

-us 
-ia» 

-j 



•KB 
"K9 



-L 
-P3 
-P4 
-XI* 

-xes 



5150 
0785 
5190 
0360 
4040 
0330 
0585 
0600 
0730 
3080 
4005 
1004 
3140 



5160 
0785 
5150 
0385 
5000 
0330 
0650 
0600 
0760 
3110 
4020 
1015 
5190 



5165 
0785 

0620 
5000 
0345 
0665 
0600 
0785 
3130 

5010 
5190 



5130 
0100 
3520 
0330 
3310 
0S50 
0580 
0580 
0700 
3055 
4005 
1003 
3120 
0130 
0355 
3055 
0130 

0130 

0130 

4020 

5240 

0730 

0730 

5270 

0130 0770 0780 0780 0780 0780 

3280 3290 3300 5270 5780 5000 

3055 3055 3055 3055 3060 3110 

0665 0665 0670 

0665 0670 

0130 0135 0145 0670 

0130 0140 0145 0670 



5170 5180 5185 5190 

07B5 3100 3100 3100 3260 3270 32B0 3290 

0625 2025 3035 3250 3260 3S70 3280 3290 
5020 5030 5050 5060 5070 5080 5260 5790 
0365 5780 5780 5780 
0665 1004 1004 4040 5010 5010 5010 5020 

0785 0785 0785 0790 
5120 5140 5200 5204 5250 



5205 5220 5250 5250 5250 



0360 0365 1060 1070 2020 2050 2050 3020 3030 3055 3055 

3060 3080 4000 4005 4005 4040 4077 

0855 0330 0345 0350 0355 0385 0625 0630 0630 0630 1002 



5»5n oq'sjj ?5040 30 1 3020 

0330 0340 

0210 0225 

4030 4075 4077 4092 4094 

5240 5250 

1004 4075 

0770 0770 3040 3040 3300 



5.120 5190 5190 5195 5200 5230 



3300 3500 3500 3500 4075 5270 

0785 0785 0785 0785 3260 3270 
5800 5900 
3120 4005 4020 



CRTFM 



SPECIAL FUNCTION CROSS REFERENCE CRTFM 



PAGE 3 



14 - 


1010 






15 - 


1080 






16 - 


0210 


0375 




17 - 


0250 






19 - 


0330 


1001 


1003 


21 - 


0215 


0335 


0580 


22 - 


0620 






23 - 


0585 


0650 


3110 


40 - 


3130 


5100 




88 - 


4030 


5000 


5060 


89 - 


2020 


3030 


5050 


90 - 


0700 


5080 




91 - 


4090 


5255 





1001 1003 1060 2010 3000 3050 3070 4000 4005 



144 



1 



CO 

4-* 

c 

O 

o 
o 


_C0 


b 


4— » 

c 

CD 


CD 

sz 


3 
O 




3 


CD 


-*- 1 


> 




CL 
O 
Cl 


CO 


3 
O 


o 
>- 


4— ' 

CD 




< 


3- 


TJ 


CD 


a 


5 




T3 
C 
CO 


C 
CD 

E 


L. 

CD 

SZ 


'o 

>■ 

a 


o 
o 
o 

■+-< 
o 


73 

C 




CD 


c 


CD 


o 


SZ 


4-J 




-Q 
CD 


o 

c 

o 


4-* 

CD 
CO 


o 

CD 


Cl 


"c 
o 

73 




CD 
Q_ 
co 


co 

CD 

o 


o 

LL 
CO 


CO 
CD 

■f- < 
CO 


3 
O 




c 


>- 


^2 


c 




^ 




3 
O 


X3 
CD 


co 
T3 


O 

CO 


o 
o 

co 


o 

CO 




O 

O 
< 

en 


CD 

k~ 

CD 
CD 


>- 

Q. 
CL 

_o 


CD 
> 

C 

o 


CO 

< 
ob 


CO 
CO 




_c 


CO 

E 


H— 


o 

c: 


CD 

c 


sz. 


CD 

4-* 

CD 


c 


CD 




o 


O 


73 


3 




CD 


o 


_Q 


4-< 




o 
o 
o 


CD 
O 


73 
CD 


1— 

CD 


CO 

o 


73 
CD 


CD 

4-* 

_co 

CO 


< 

4— ' 


a 

CD 


E 


SZ 
CD 


o 

4-J 

4— ' 


73 
73 
CD 


O 
CJ 

x: 
1 


o 
co 

CD 

"O 
CD 

E 


-*— ■ 

CD 
'i— 
CD 
> 
CD 


c 

4-< 

CD 
-V 

i_ 
CD 

E 


'co 

E 

T3 

c 


CD 
C 
CD 
-O 

_>• 


CD 

4— ' 

CO 

L- 

CD 

SI 


"5 


C 


a> 


CO 


C 
CD 


o 


^ 


CD 


o 


CD 


5 


4— ' 

CO 


c 


CD 


C 


"O 


CO 


o 


c 


CO 


Q- 


CD 


CD 


CD 


CD 


O 


4~- 


~co 


JD 


CD 


CO 
CO 


jQ 


O 


co 
CD 


CD 


CD 


M — 


CD 


E 


CD 


3 


CD 


CD 


o 


c 


CD 


CJ 


O 




CD 

c 

CD 


CO 

3 


o 


CO 


CD 


O 
CO 


CD 

cd 


XI 


CD 


CD 

E 

CD 

C 

CD 


O 

4— • 


CO 

< 

CD 


73 
CD 
_J 

"cO 


O 

CO 
CD 


c 

CD 
CO 

4— • 


SZ 
4- 1 

3 
o 


c 

CO 

5 


c 


CD 


CD 


c 

CO 


— 


E 


> 

CD 

E 


o 


c 


CD 


4—' 


•4— 


-Q 


CD 


CO 

E 

CD 

cn 


3 


. 


CD 


CO 

O 

o 


O 

C 
CD 


CO 

c 

O 
CJ 


CO 

c 
o 

CO 


E 

CD 

cr 


3 

o 


CO 

c 
o 


_cd 


o 
a. 


4-* 

c 

CD 


CD 
> 

C 


73 


4-* 

CO 




J3 




"O 


o 
o 

CO 


— 


■4 — 


Convers 
Receivai 


co 

E 

CD 

+-• 

CO 

>- 

co 


C 
CD 
Cl 
CD 
"D 
C 


£ 
o 


4-* 

CO 

CD 
CD 

c 



0) 









CO 










,> 










*3 










u 










V 










DC 










(A 










+■> 










C 
3 
O 








"■p 


o 




,, 




c 


u 




o 


CD 


3 

o 


< 




CO 


C 


u 


T3 




— 




u 


C 




<_, 


1 


< 


(13 




c 


_o 


+■> 


0) 




CD 


p 


o 


J3 
(0 

>■ 


^ 


3 
O 


CD 


o 


O) 
T3 
0) 


3 


SZ 

4— ' 


s: 


CO 

a. 


o 


o 


% 


to 

+-■ 


_J 


73 

c 

CD 
CO 


CO 

c 

O 


o 

k. 

> 


c 

3 

o 
u 


75 

c 




CO 


CD 


u 


a) 


CD 
CO 

co 

CD 

0_ 


CD 
> 

c 
o 
o 


a. 

a 


< 

a 


D 



a 





2d 


* ■ 


.2 2 


o 


</) — 


E 


o < 


o 


*-> 


OO CM 


(0 
0) 

3 

a - 


a) O o 




IE 


t -, CO < 
o=3oo 


4- 


» 2 X > 


"5 
E 

TJ 






C 


CO O 0. CO 


(0 




■H 




3 




O 




+■• 




3 




o 





CO 

E 

CO 

c 



4! 
4) 



O 



l__ 






r 



3 
o 
o 
o 

< 

c 

CD 



to o 

C T3 
to "= 

E.2 



3 

o 
>■ 



CD 
>• 

03 

a. 



CD 



C 03 
3 w 

CO 

(o 2 ° 

c >• w 

3 -O •- 
O CO "D 
O CD 



O 
< 



a 



3 o 00 

co a § 

o >; *- 

" Q C 

«3 m ° 

LL - CD O 

2 2^ 

o " '~ 

£ ° ° 

B) O) 



0) 



03 



o>»5 



c 

3 

o 
o 

o 

< 



ll 

2 CO 



'TJ 
_ 03 

Q. £ 

^ 0) H- 

03 JZ O 

o +- >. 

° o f 
_c co .3; 

.t: © c5 
o c c 

£.03 
CO C X3 
0- "cD CD 

CD CD h^ 
<° "3 Z. 

"5 v_ ? 
o CD .E 

03 03 CD 

« to n 

J3 -J _cn 

cd co ^ 

c ^ 

l™ CD i_ 
O C CO 

_Q 03 
co (J 

o 



co 



> ^- en 

gob - 

X CO 

O CD 7: CD 

5, t *- CD 

S O O X3 

O -O +- ,_ 
'-"■DO) 

£ ° 5 - 

.E _ o 5 to 

+_* .— CI 

-2 E g •- 

1__ L- (1 — 

CD __ -. i_ 

C ^ > CD 

E- C -t-* r~ 

qj CD C +- 

u ^ CO O 

"3 5 -Jo C 

03 O c ro 

co -a ^ cd 

3 h= 03 >- 

j_ 4-* CD +- J 

ro ~ c S 

^ O J) > 

£ = -° 

CD — c 
CD 



CD 



"D 

OS? 

CO 

— jQ • 
co co co 
CD > fc 



O CO "- 



5~ 

CO 

E 

3 

o 



O •£ CD -7=5 +J 

L j, U u 

cd £■ "O i-: 

c o 



CD 03 



CD 



CJ oc 



CD 
Q. 

CD 

X3 

C . 



CD 

X3 

CD 

03 5 ® 



i 







A 








re 








> 
















<D 








O 








a> 








oc 








(A 








•*-> 






on 


C 
3 






_c 


O 






*5 


o 




., 


c 


o 




o . . 


3 


< 




+-• O) 


O 






CO c 


u 


XI 






o 


c 




"z> 


< 


re 




c o 
03 t; 
t ° 


+■< 


a> 




w 
o 


2 
re 
>• 
re 
a. 


h. 


O 03 

3 , 


o 

JS. 


■o 
a> 


send yo 
;ions foi 


o 


c 

3 

o 


re 

i- 

0) 


> 


o 


c 


-* Ui 


re 


o 


a> 


co 2 

.2 o 
a. o 


a. 

D 


< 

a 


D 





£o 




O 2 


o 


(A ~~ 


E 

v. 


Conver 
CIATES 

2 


o 

4- 
*-> 


in 
a> 

3 

cr 
a) 


tware 
ASSO 
6 
9470 


(0 


o o3 © o 


+* 


<2 Z x > 


re 

E 

XI 


Sir o* 
c O °Q «> 


'35 00 x "S 

3 w P (5 


c 


CO O 0. CO 


re 





0) 

n 



E 
co 

c 



4) 



o 



3 

o 

+•< 

3 

u 



L_ 



GENERAL LEDGER is the third in Osborne & Associates' series of BASIC business program 
books. The book includes program listings with remarks, descriptions, discussion of the 
principles behind each program, file layouts, and a complete user's manual with step-by- 
step instructions, flow charts, and sample reports and CRT displays. 

General Ledger features include: 

■ Accepts postings from external programs (Accounts Payable, Accounts 
Receivable) 

Accepts directly entered postings 

Maintains account balances for current month, quarter, and year and pre- 
vious three quarters 

Financial reports: Trial Balance, Income Statement, Balance Sheet, and 
more 

Also in this series are PAYROLL WITH COST ACCOUNTING and ACCOUNTS PAYABLE 
and ACCOUNTS RECEIVABLE, each a complete BASIC software package on its own 
These accounting packages may be used independently or implemented as one complete 
accounting system, sharing programs and data files 

SOME COMMON BASIC PROGRAMS, Osborne & Associates' first BASIC book, is a collec- 
tion of short practical programs. Most programs can be used exactly as listed with any ver- 
sion of BASIC available today, and many can be used on the smallest microcomputer. 



OTHER BOOKS BY OSBORNE & ASSOCIATES, INC. 

An Introduction to Microcomputers: 

Volume — The Beginner's Book 
02-2 An Introduction to Microcomputers: Volume 1 
15-2 An Introduction to Microcomputers: 

Volume 2 — Some Real Microprocessor 
18-7 An Introduction to Microcomputers: 

Volume 3 — Some Real Support Devices 
04-7 8080 Programming for Logic Design 
05-5 6800 Programming for Logic Design 
1 1 -X Z80 Programming for Logic Design 
10-1 8080A/8085 Assembly Language Programm 
1 2-8 6800 Assembly Language Programming 

Some Common BASIC Programs J^ 

Payroll with Cost Accounting 

Accounts Payable and Accounts Receivable 

Books published by Osborne & Associates include those listed above For 
our current catalog, or for information on Osborne & Associates' books 
and services, please call or write ^% 1^^ 

Osborne & Associates 
P.O. Box 2036 
erkeley, California 94 
(415) 548-2805